Вывести количество чисел python

Как найти количество элементов в объекте Python? Подсчитываем число элементов в списке, массиве, кортеже

В этой статье мы рассмотрим, как определить количество элементов в объекте Python и при необходимости подсчитать их сумму. Также увидим, как подсчитать количество вхождений конкретного элемента.

Итак, представим, что у нас есть следующий массив:

По условию задачи мы хотим определить, сколько элементов в данном массиве, и какова сумма всех этих элементов.

В первую очередь, вспомним, что в языке программирования Python существует специальная функция, возвращающая длину списка, массива, последовательности и так далее — это len(x) , где x — наша последовательность.

Если разобраться, длина последовательности из чисел — это одновременно и количество самих цифр, поэтому мы можем решить поставленную задачу следующим образом:

 
print(len(array)) 6 Press any key to continue . . .

А для подсчёта суммы можем занести перечисление массива Python в цикл:

 
array = [6,2,7,4,8,1] sum = 0 for i in range(len(array)): sum = array[i] print(sum)

В принципе, вопрос решён. Но, по правде говоря, перебор целочисленного массива с помощью цикла для получения суммы элементов массива — это, всё же, костыль)). Дело в том, что в Python существует встроенная функция sum() . Она вернёт нам сумму без лишних телодвижений.

 
def main(): array = [1,6,3,8,4,9,25,2] print(sum(array)) if name == 'main': main() 58 Press any key to continue . . .

Python: количество вхождений конкретного элемента

Бывает, нам надо подсчитать число вхождений определённых элементов в списке и вернуть найденное значение. Для этого в Python есть метод count() . Вот его синтаксис:

Метод принимает аргумент x, значение которого нас интересует. И возвращает число вхождений интересующего элемента в список:

 
# объявляем список website_list = ['otus.ru','includehelp.com', 'yandex.by', 'otus.ru'] # подсчитываем вхождения 'otus.ru' count = website_list.count('otus.ru') print('otus.ru found',count,'times.') # подсчитываем вхождения 'yandex.by' count = website_list.count('yandex.by') print('yandex.by found',count,'times.')
 
otus.ru found 2 times. yandex.by found 1 times.

Также этот метод успешно работает и с кортежами:

 
# объявляем кортеж sample_tuple = ((1,3), (2,4), (4,6)) # условные вхождения (1,2) count = sample_tuple.count((1,2)) print('(1,2) found',count,'times.') # условные вхождения (1,3) count = sample_tuple.count((1,3)) print('(1,3) found',count,'times.')
 
(1,2) found 0 times. (1,3) found 1 times.

Вот и всё, теперь вы знаете, как подсчитывать количество элементов в списке, массиве, кортеже в Python.

Источник

Количество элементов в списке Python с условиями или критериями

В этом посте мы рассмотрим, как узнать число элементов в списке Python, удовлетворяющих определенным условиям или критериям.

Если вам просто нужно найти количество конкретных элементов с списке, используйте метод .count()

 
 
>>> list_numbers = [1, 2, 2, 5, 5, 7, 4, 2, 1] >>> print(list_numbers.count(2)) 3

Существует несколько способов такого подсчета, и мы изучим каждый из них с помощью примеров. Итак, давайте начнем.

1. Использование цикла for для подсчета в списке Python

В этом фрагменте кода мы используем цикл for для подсчета элементов списка Python, удовлетворяющих условиям или критериям. Мы перебираем каждый элемент списка и проверяем условие, если оно истинно, то мы увеличиваем счетчик на 1. Это простой процесс сопоставления и подсчета для получения интересующего нас количества.

 
 
list_numbers = [78, 99, 66, 44, 50, 30, 45, 15, 25, 20] count = 0 for item in list_numbers: if item%5 == 0: count += 1 print("количество элементов списка, удовлетворяющих заданному условию:", count)
количество элементов списка, удовлетворяющих заданному условию: 6 

2. Применение len() со списковыми включениями для подсчета в списке Python

В представленном ниже фрагменте кода, мы используем списковые включения (list comprehension), чтобы создать новый список, элементы которого соответствует заданному условию, после чего мы получаем длину собранного списка. Это намного легче понять на примере, поэтому давайте перейдем к нему.

 
 
list_numbers = [78, 99, 66, 44, 50, 30, 45, 15, 25, 20] element_count = len([item for item in list_numbers if item%5 == 0]) print( "количество элементов списка, удовлетворяющих заданному условию:", element_count )
количество элементов списка, удовлетворяющих заданному условию: 6 

Подсчет ненулевых элементов

В этом примере мы находим общее количество ненулевых элементов. Чтобы узнать число нулевых членов списка, мы можем просто изменить условие на if item == 0 .

 
 
list_numbers = [78, 99, 66, 44, 50, 30, 45, 0, 0, 0] element_count = len([item for item in list_numbers if item != 0]) print( "количество элементов списка, удовлетворяющих заданному условию:", element_count )
количество элементов списка, удовлетворяющих заданному условию: 7 

3. sum() и выражение-генератор для подсчета в списке Python

В этом примере кода мы используем sum() с генераторным выражением. Каждый элемент списка проходит проверку условием и для тех элементов, которые ему удовлетворяют, возвращается значение True . Метод sum() в свою очередь подсчитывает общее число истинных значений.

 
 
list_numbers = [78, 99, 66, 44, 50, 30, 45, 15, 25, 20] count = 0 count = sum(True for i in list_numbers if i % 5 == 0) print( "количество элементов списка, удовлетворяющих заданному условию:", count )
количество элементов списка, удовлетворяющих заданному условию: 6 

4. sum() и map() для подсчета элементов списка Python с условиями или критериями

Функция map(fun, iterable) принимает два аргумента: итерируемый объект (это может быть строка, кортеж, список или словарь) и функцию, которая применяется к каждому его элементу, — и возвращает map-объект (итератор). Для применения одной функции внутри другой идеально подходит лямбда-функция. Таким образом, map() примет первый аргумент в виде лямбда-функции.

Здесь sum() используется с функцией map() , чтобы получить количество всех элементов списка, которые делятся на 5.

Давайте разберемся на примере, в котором переданная лямбда-функция предназначена для фильтрации членов списка, не кратных 5.

 
 
list_numbers = [78, 99, 66, 44, 50, 30, 45, 15, 25, 20] count = 0 count = sum(map(lambda item: item % 5 == 0, list_numbers)) print( "количество элементов списка, удовлетворяющих заданному условию:", count )
количество элементов списка, удовлетворяющих заданному условию: 6 

5. reduce() с лямбда-функцией для подсчета элементов списка Python с условием или критериями

Lambda — это анонимная (без имени) функция, которая может принимать много параметров, но тело функции должно содержать только одно выражение. Лямбда-функции чаще всего применяют для передачи в качестве аргументов в другие функции или для написания более лаконичного кода. В этом примере мы собираемся использовать функции sum() , map() и reduce() для подсчета элементов в списке, которые делятся на 5.

Приведенный ниже код наглядно демонстрирует это.

 
 
from functools import reduce list_numbers = [78, 99, 66, 44, 50, 30, 45, 15, 25, 20] result_count = reduce( lambda count, item: count + (item % 5 == 0), list_numbers, 0 ) print( "количество элементов списка, удовлетворяющих заданному условию:", result_count )
количество элементов списка, удовлетворяющих заданному условию: 6

Надеюсь, что вы узнали о различных подходах к подсчету элементов в списке Python с помощью условия или критериев для фильтрации данных.

Источник

Как подсчитать количество чисел в строке в Python: 4 простых способа

Как подсчитать количество чисел в строке в Python: 4 простых способа

В этой статье мы рассмотрим, как определить количество чисел в строке, используя различные методы, а также приведем примеры кода для каждого из них.

1. Метод split() и функция str.isdigit()

Один из способов определить количество чисел в строке – использовать метод split() для разделения строки на список слов, а затем применить функцию str.isdigit() для проверки, является ли слово числом.

def count_numbers_in_string(s): words = s.split() count = 0 for word in words: if word.isdigit(): count += 1 return count s = "123 яблоко 45 груша 6789 банан 10" print(count_numbers_in_string(s)) #4

2. Регулярные выражения

Регулярные выражения являются мощным инструментом для поиска и работы со строками. В данном случае мы можем использовать модуль re для поиска всех чисел в строке.

import re def count_numbers_in_string(s): numbers = re.findall(r'\d+', s) return len(numbers) s = "123 яблоко 45 груша 6789 банан 10" print(count_numbers_in_string(s)) #4

3. Использование метода str.split() с регулярными выражениями

Мы можем также использовать комбинацию метода split() и регулярных выражений для разделения строки на список чисел и подсчета их количества.

import re def count_numbers_in_string(s): words = re.split(r'\D+', s) count = 0 for word in words: if word: count += 1 return count s = "123 яблоко 45 груша 6789 банан 10" print(count_numbers_in_string(s)) #4

4. Использование списковых включений (list comprehensions)

Списковые включения – это элегантный способ создания списков на основе существующих коллекций. В данном случае мы можем использовать списковые включения для создания списка чисел и подсчета их количества.

def count_numbers_in_string(s): words = s.split() numbers = [word for word in words if word.isdigit()] return len(numbers) s = "123 яблоко 45 груша 6789 банан 10" print(count_numbers_in_string(s)) #4

Заключение

Каждый из представленных методов имеет свои преимущества и недостатки. Метод split() и функция str.isdigit() являются простыми и понятными, но могут быть менее гибкими при работе с разными форматами чисел. Регулярные выражения предлагают больше возможностей для поиска и обработки чисел, однако могут быть сложными для понимания и избыточными для простых задач. Списковые включения являются компактными и эффективными, но могут быть менее читаемыми для новичков.

Выбирая подходящий метод, стоит учитывать характеристики исходных данных, а также личные предпочтения и опыт работы с Python. В любом случае, знание различных методов работы со строками и числами позволяет более гибко и эффективно решать задачи на Python.

Как найти максимальное и минимальное значение в словаре в Python: лучшие методы и примеры

Как найти максимальное и минимальное значение в словаре в Python: лучшие методы и примеры

Метод insert() для вставки элементов в список: синтаксис и примеры

Метод insert() для вставки элементов в список: синтаксис и примеры

Работа с вложенными списками в Python

Работа с вложенными списками в Python

Функция locals() в Python: просмотр локальных переменных

Функция locals() в Python: просмотр локальных переменных

3 простых способа получить последний элемент словаря в Python

3 простых способа получить последний элемент словаря в Python

Функция globals() в Python: получение глобальных переменных

Функция globals() в Python: получение глобальных переменных

Источник

Читайте также:  Побитовое отрицание в питоне
Оцените статью