как узнать сколько элементов в списке python

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Как получить количество элементов в списке в Python?

Как получить количество элементов в списке?

6 ответов

как получить размер списка?

чтобы найти размер списка, используйте встроенную функцию, len :

объяснение

все в Python является объектом, включая списки. Все объекты имеют какой-то заголовок в реализации C.

С docs

len(s)

возвращает длину (в количество элементов) объекта. Аргументом может быть последовательность (например, строка, байты, кортеж, список или диапазон) или коллекция (например, словарь, набор или замороженный набор).

object.__len__(self)

и мы также можем видеть, что __len__ метод списков:

встроенные типы вы можете получить len (длина)

и в самом деле мы видим, что мы можем получить эту информацию для всех описанных типов:

не используйте len для проверки пустого или непустого списка

чтобы проверить на определенную длину, конечно, просто проверить на равенство:

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

кроме того, не делать:

вместо этого, просто сделать:

я объяснить, почему здесь короче говоря, if items или if not items является более читаемым и более эффективным.

хотя это может быть не полезно из-за того, что это имело бы гораздо больше смысла, как «из коробки» функциональность, довольно простой хак будет строить класс с length свойства:

вы можете использовать его вот так:

по сути, он точно идентичен объекту списка, с дополнительным преимуществом наличия ООП-дружественного length собственность.

как всегда, ваш пробег может варьироваться.

кроме того len вы также можете использовать operator.length_hint (требуется python 3.4+). Для нормальных list оба равнозначны, но length_hint позволяет получить длину списка-итератора, которая может быть полезна при определенных обстоятельствах:

но length_hint по определению только «подсказка», поэтому большую часть времени len лучше.

отвечая на ваш вопрос в качестве примеров, также приведенных ранее:

и для полноты (принимая один для команды с downvotes), это возможно без использования len() функция (я бы не одобрил это как хороший вариант):

(двоеточие в list[:] неявно, поэтому также необязательно)

Источник

Python: получить количество элементов в списке

как узнать сколько элементов в списке python. 3515258145656021872319797446442326450. как узнать сколько элементов в списке python фото. как узнать сколько элементов в списке python-3515258145656021872319797446442326450. картинка как узнать сколько элементов в списке python. картинка 3515258145656021872319797446442326450.

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

Встроенная функция len()

Давайте посмотрим на следующий пример:

Как следует из названия, функция len() возвращает длину списка независимо от типов элементов в нем.

Использование цикла for

Цикл заканчивается, когда он перебирает все элементы, поэтому счетчик будет представлять общее количество элементов в списке:

Запуск этого кода напечатает:

Получить количество уникальных элементов в списке

Мы видим, что в list_d 8 элементов, 5 из которых уникальны.

Список списков с использованием len()

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

Обратите внимание, что пустой список считается одним элементом. Если список в списке содержит более одного элемента, они не принимаются во внимание. Вот здесь for и пригодится.

Получить количество элементов в списке, содержащем другие списки

Для получения длины воспользуемся встроенной функцией len() :

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

Однако вы можете видеть, что каждый символ строки «char» учитывается в общем количестве элементов. Это связано с тем, что функция len() воздействует на строку, возвращая все ее символы. Мы можем избежать этой ситуации, используя тот же подход, что и в разделе ниже, который также позволит нам иметь элементы, отличные от списков.

Вложенные списки

Опять же, мы инициализируем переменную count равной 0. Если мы хотим получить общее количество элементов во вложенном списке, нам сначала нужно проверить, является ли элемент списком или нет. Если это так, мы выполняем цикл внутри списка и рекурсивно вызываем функцию до тех пор, пока не останутся вложенные списки. Все элементы, кроме списков (целые числа, строки и т.д.), увеличивают счетчик на 1.

Обратите внимание, что это также решение проблем, вызванных предыдущим подходом.

Давайте посмотрим на код для подсчета элементов во вложенных списках:

Запуск этого кода даст нам:

Вывод

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

Источник

Python: Получить количество элементов в списке

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

Python: Получить количество элементов в списке

Вступление

Получение количества элементов в списке в Python является обычной операцией. Например, вам нужно будет знать, сколько элементов в списке, когда вы будете перебирать его. Помните, что списки могут иметь в качестве своих элементов комбинацию целых чисел, чисел с плавающей точкой, строк, логических значений, других списков и т. Д.:

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

Встроенная функция len()

Давайте рассмотрим следующий пример:

Как следует из функции name, len() возвращает длину списка, независимо от типов элементов в нем.

Использование цикла for

Цикл заканчивается, когда он перебирает все элементы, поэтому счетчик будет представлять общее количество элементов в списке:

Запуск этого кода приведет к печати:

Получить количество уникальных элементов в списке

Мы видим, что list_d имеет в общей сложности 8 элементов, из которых 5 являются уникальными.

Список списков, использующих len()

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

Получить количество элементов в списке, содержащем другие списки

Мы будем использовать встроенную функцию len() для получения длины:

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

Однако вы можете видеть, что каждый символ строки «char» засчитывается в общее количество элементов. Это происходит потому, что функция len() воздействует на строку, возвращая все ее символы. Мы можем избежать этой ситуации, используя тот же подход, что и в приведенном ниже разделе, который также позволит нам иметь элементы, отличные от списков.

Еще один интересный способ сделать то же самое, что и в предыдущем примере, – использовать понимание списка:

Вложенные списки

Вложенные списки-это списки, являющиеся элементами других списков. Может быть несколько уровней списков внутри друг друга:

Опять же, мы инициализируем переменную count в 0. Если мы хотим получить общее количество элементов во вложенном списке, нам сначала нужно проверить, является ли этот элемент списком или нет. Если это так, мы делаем цикл внутри списка и рекурсивно вызываем функцию до тех пор, пока не останется вложенных списков. Все элементы, отличные от списков (целые числа, строки и т. Д.), увеличат количество на 1.

Обратите внимание, что это также решение проблем, вызванных предыдущим подходом.

Давайте рассмотрим код для подсчета элементов во вложенных списках:

Запуск этого кода даст нам:

Вывод

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

Со списками списков и вложенными списками len() не будет считать элементы внутри списков. Чтобы сделать это, нам нужно перебрать весь список.

Источник

Как узнать сколько элементов в списке python

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

Раньше мы сталкивались с задачей обработки элементов последовательности, например, вычисляя наибольший элемент последовательности. Но при этом мы не сохраняли всю последовательность в памяти компьютера. Однако, во многих задачах нужно именно сохранять всю последовательность, например, если бы нам требовалось вывести все элементы последовательности в возрастающем порядке (“отсортировать последовательность”).

Для хранения таких данных можно использовать структуру данных, называемую в Питоне список (в большинстве же языков программирования используется другой термин “массив”). Список представляет собой последовательность элементов, пронумерованных от 0, как символы в строке. Список можно задать перечислением элементов списка в квадратных скобках, например, список можно задать так:

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

В этом примере создается пустой список, далее считывается количество элементов в списке, затем по одному считываются элементы списка и добавляются в его конец. То же самое можно записать, сэкономив переменную n :

Для списков целиком определены следующие операции: конкатенация списков (сложение списков, т. е. приписывание к одному списку другого) и повторение списков (умножение списка на число). Например:

Последовательностями в Питоне являются строки, списки, значения функции range() (это не списки), и ещё кое-какие другие объекты.

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

2. Методы split и join

Используя специальную магию Питона — генераторы — то же самое можно сделать в одну строку:

У метода split() есть необязательный параметр, который определяет, какая строка будет использоваться в качестве разделителя между элементами списка. Например, вызов метода split(‘.’) вернет список, полученный разрезанием исходной строки по символам ‘.’ :

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

3. Генераторы списков

Для создания списка, заполненного одинаковыми элементами, можно использовать оператор повторения списка, например:

Для создания списков, заполненных по более сложным формулам можно использовать генераторы: выражения, позволяющие заполнить список некоторой формулой. Общий вид генератора следующий:

где переменная — идентификатор некоторой переменной, последовательность — последовательность значений, который принимает данная переменная (это может быть список, строка или объект, полученный при помощи функции range ), выражение — некоторое выражение, как правило, зависящее от использованной в генераторе переменной, которым будут заполнены элементы списка.

Вот несколько примеров использования генераторов.

Создать список, состоящий из n нулей можно и при помощи генератора:

Создать список, заполненный квадратами целых чисел можно так:

Вот так можно получить список, заполненный случайными числами от 1 до 9 (используя функцию randrange из модуля random ):

А в этом примере список будет состоять из строк, считанных со стандартного ввода: сначала нужно ввести число элементов списка (это значение будет использовано в качестве аргумента функции range ), потом — заданное количество строк:

4. Срезы

Со списками, так же как и со строками, можно делать срезы. А именно:

Списки, в отличии от строк, являются изменяемыми объектами: можно отдельному элементу списка присвоить новое значение. Но можно менять и целиком срезы. Например:

Обратите внимание, A[i] — это элемент списка, а не срез!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *