Рубрики
Без рубрики

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

Чтобы получить количество элементов в списке Python, используйте функцию Len (список). Вам не нужно импортировать какую-либо внешнюю библиотеку, потому что Len () – это встроенная функция Python. Вы можете использовать его, чтобы получить количество элементов нескольких встроенных и типов библиотек в Python, таких как кортежи и наборы. Вот минимальные … Как получить количество элементов в списке Python? Подробнее “

Автор оригинала: Chris.

Чтобы получить количество элементов в Python список , использовать Лен (список) функция. Вам не нужно импортировать какую-либо внешнюю библиотеку, потому что Лен () это встроенная функция Python. Вы можете использовать его, чтобы получить количество элементов нескольких встроенных и типов библиотек в Python, таких как кортежи и набор .

Вот минимальный пример:

>>> len([2,4,6])
3

Попробуйте сами на нашей интерактивной Python Shell:

Если вы гайка Python, вы можете проверить официальные документы:

Но я дам вам самую важную информацию о списке Python Лен () следующий. Давайте погрузимся в некоторые дополнительные детали, которые могут быть интересны для вас.

Характеристики

Просто используйте Лен () Метод интуитивно на любом объекте, который вы считаете, это может работать. В подавляющем большинстве случаев он просто будет работать.

Посмотрите на официальную спецификацию, если вы хотите понять вещи тщательно.

Спецификация : Лен (ы)

Вернуть Длина (количество предметов) объект Отказ Аргумент может быть последовательностью (например, a string , байты , кортеж , список или Диапазон ) или коллекция (например, словарь , set или Замороженный набор ).

Вы можете видеть, что длина функция очень гибкая. Он реализован для многих различных типов данных в Python. На самом деле, каждый раз, когда вы реализуете свой собственный объект, вы можете определить __len__ Способ для включения Лен () функционировать на вашем пользовательском объекте. Естественно, __len__ Метод был реализован практически все типы данных в пакетах Python, где он имеет смысл.

Спецификация : объект .__ Len__ ( Я Несомненно

Вызывается для реализации встроенной функции Лен () Отказ Следует вернуть длину объекта, целое число > = 0 Также объект, который не определяет __bool __ () метод и чей __лен __ () Метод возвращается ноль считается ложным в логическом контексте.

Вы можете определить любое положительное целое возвращаемое значение, которое вы хотите. Для таких типов сбора, такие как Списки Возвращаемое значение – это количество элементов в коллекции. Интересно, что этот метод также определяет, должно ли быть логическим интерпретацией объекта по умолчанию Правда (для положительной длины> 0) или Ложь (для нулевой длины).

Например, рассмотрим код Если O: Печать («Привет») для объекта o . Если Длина Функция Лен (о) Возвращает 0, то если состояние не будет (при условии, что нет реализации метода __bool __ () ).

Давайте рассмотрим очень важный вопрос, если вы серьезный разработчик:

Что такое сложность выполнения списка Python Len ()?

То Сложность времени выполнения принадлежащий Лен () Функция в вашем списке Python составляет O (1). Требуется постоянное время выполнения независимо от того, сколько элементов в списке. Почему? Поскольку объект списка поддерживает целочисленный счетчик, который увеличивается и уменьшается при добавлении и удалении элементов списка. Глядя вверх ценность этого счетчика занимает постоянное время.

Объекты списка Python отслеживают свою собственную длину. Когда вы называете функцию Лен (...) На объекте списка вот что происходит (примерно):

  • Виртуальная машина Python выглядит вверх Лен (...) Функция в словаре, чтобы найти связанную реализацию.
  • Вы передаете объект списка как аргумент для Лен () Функция, поэтому виртуальная машина Python проверяет __len__ Способ объекта списка.
  • Способ реализован в C ++, и это просто счетчик, который увеличивается каждый раз, когда вы добавляете элемент в список и уменьшились, если вы удалите элемент из списка. Например, скажем, переменная Длина хранит текущую длину списка. Затем метод возвращает значение self.length Отказ
  • Выполнено.

Вот фрагмент Реализация C ++ Из списка структура данных:

static int
list_resize(PyListObject *self, Py_ssize_t newsize)
{
    PyObject **items;
    size_t new_allocated, num_allocated_bytes;
    Py_ssize_t allocated = self->allocated;

    // some implementation details

    Py_SET_SIZE(self, newsize);
    self->allocated = new_allocated;
    return 0;
}

Статьи по Теме:

  • Окончательное руководство по спискам Python

Лимит длины списка Python

Какая максимальная длина списка Python?

Максимальная длина списка Python зависит от вашей машины, предел памяти (RAM) и вашего адресного пространства. Ленивая верхняя граница – это максимальное целочисленное значение на вашей машине:

>>> import sys
>>> sys.maxsize
9223372036854775807

Но, как я уже говорил ранее, это очень ленивая верхняя граница. Умножьте это число с четырьмя байтами (размер целого числа), и вы получите 36,893,488,147 ГБ – вряд ли разумная «верхняя граница».

Более практичный подход будет добавлять элементы в список Python, пока он не бросает ошибку. Тогда используйте Лен () Функция для проверки количества элементов в списке:

>>> lst = []
>>> while True:
	lst.append(1)

	
Traceback (most recent call last):
  File "", line 2, in 
    lst.append(1)
KeyboardInterrupt
>>> len(lst)
1007494743
>>> 

Я прервала это после того, как Python создал список более одного миллиарда элементов.

Длина списка Python для петли

Вы можете использовать Лен () Функция для создания цикла по индексам списка.

cars = ['audi', 'mercedes', 'bmw', 'vw', 'porsche']
for i in range(len(cars)):
    print(i, cars[i])

'''
0 audi
1 mercedes
2 bmw
3 vw
4 porsche
'''

Диапазон () Функция требует, по меньшей мере, один аргумент, который определяет границу индексов (например, итерации по всем значениям в 0 , 1, 2, ..., Len (автомобили) ).

Длина списка Python Во время петли

Вы можете сделать то же самое с раковиной петли:

cars = ['audi', 'mercedes', 'bmw', 'vw', 'porsche']
i = 0
while i

Переменная индекса Я берет на все индексы из 0 к Лен (автомобили) – последний исключен.

Длина списка Python инициализировать

Как инициализировать список с n (манекен) элементы?

Чтобы инициализировать список с N Элементы, использование списка Concatenation [Нет] * n Отказ См. В следующем примере:

lst = [None] * 10
print(lst)
# [None, None, None, None, None, None, None, None, None, None]

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

Питон Отделка списка к длине

Чтобы обрезать список до заданной длины, просто используйте нарезку на обозначении Список [Пуск: Стоп] Отказ Скажи, вы хотите получить первый N Элементы списка, вы можете использовать обозначение Список [: N] вырезать ломтик первого N элементы из исходного списка.

customers = ['Ann', 'Alice', 'Bob', 'Anne', 'Alice']

print(customers[:3])
# ['Ann', 'Alice', 'Bob']

print(customers[:4])
# ['Ann', 'Alice', 'Bob', 'Anne']

Python составляют списки одинаковой длины

Вы можете использовать Slicing, чтобы сделать два списка равных. Например, если вы хотите создать два списка с N Элементы, вы можете использовать list_1 [: n] и list_2 [: n] Отказ Но вы должны убедиться, что N меньше или равно минимальному количеству элементов в любом из списков через n (Лен (клиенты), Лен (заработка)) .

Вот код:

customers = ['Ann', 'Alice', 'Bob', 'Anne', 'Alice']
earnings = [9999, 1345, 22222, 11231, 111, 1999, 1111]
n = min(len(customers), len(earnings))

list_1 = customers[:n]
list_2 = earnings[:n]

print(list_1)
# ['Ann', 'Alice', 'Bob', 'Anne', 'Alice']

print(list_2)
# [9999, 1345, 22222, 11231, 111]

Длина ломтики списка Python

Скажем, вы получаете ломтик из списка: Теперь вы можете проверить длину этого ломтика с Лен () функция тоже.

customers = ['Ann', 'Alice', 'Bob', 'Anne', 'Alice']

slice_1 = customers[2:5]
print(len(slice_1))
# 3

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

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

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

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

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

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

Оригинал: “https://blog.finxter.com/how-to-get-the-number-of-elements-in-a-python-list/”