Функция len() в Python
Длина списка в Python представляет количество элементов в списке.
Чтобы получить длину списка в Python, вызовите глобальную функцию len() со списком, переданным в качестве аргумента.
Вы также можете использовать циклические операторы, такие как цикл for или while, чтобы найти количество элементов в списке. Но это стало бы неэффективным, поскольку у нас есть встроенная функция.
Синтаксис
Синтаксис функции len() для определения длины списка показан ниже.
Функция возвращает целое число, которое представляет количество элементов, присутствующих в списке.
Пример 1: длина списка
В следующем примере мы создадим список, а затем воспользуемся командой len(), чтобы найти количество элементов в нем.
В списке четыре элемента, поэтому его длина равна 4.
Пример 2: с обновлениями списка
В следующем примере мы создадим список, а затем добавим или удалим некоторые элементы из списка и найдем результирующую длину.
Изначально в списке четыре элемента. Позже мы добавили к элементам с помощью list append(). Таким образом, окончательная длина списка составила шесть.
Заключение
В этом руководстве примеров мы узнали, как определить длину списка в Python.
Как в питоне объявить список фиксированной длины, но не заполнять его?
Вызове ошибку MemoryError , потому, что список в добавок к объявлению заполняется числами от 0 до 999999999.
![]()
Список фиксированной длины — это скорее всего МАССИВ. Тогда так:
только он будет заполнен «остаточным мусором», а не «Ничем». Ничем вам показали в другом ответе )
Реализация массива в numpy намного более экономна по расходованию памяти, чем стандартный список, но не позволяет хранить объекты разных типов и добавлять или удалять элементы массива.
Кстати — если тип не указывать, то будет массив float
Список в Питоне содержит ссылки на объекты. Нельзя создать список, заданного размера, не заполнив его. Даже если все ссылки указывают на None:
необходимо место под сами ссылки и рано или поздно вы получите MemoryError (мне не известны реализации Питона, где списки лениво создаются). См. Размер списка в Python и объём оперативной памяти
В качестве альтернативы, вы можете пустой список создать:
и добавлять к нему элементы к нему по мере необходимости ( L.append(<>) ). Это не спасёт от MemoryError при достаточно большом количестве элементов.
Если вы хотите создать массив чисел, то для экономии памяти можно использовать array модуль, который может более компактное представление иметь. К примеру, что создать массив с миллиардом нулей:
Это меньше памяти чем обычный список может занимать, но от MemoryError при достаточно больших размерах это не спасёт (также как и numpy.empty(10**9) ). Reserve memory for list in Python?
Чтобы память не требовать, можно использовать ленивые последовательности, к примеру, в Питоне 3:
Нужные элементы на лету могут создаваться. Большие размеры, такие как range(10**21) , не приводят к MemoryError в этом случае. Можно также свои классы создавать, к примеру, размер GmtimeOverflowTable практически не ограничен.
Списки в Python: Len, Pop, Index и List Comprehension

Списки Python похожи на массивы в JavaScript. Это один из встроенных типов данных, использующийся для хранения наборов данных.
Базовое использование
Как создать список
Пустой список создается при помощи пары квадратных скобок:
Можно создать список, сразу содержащий какие-то элементы. В этом случае они перечисляются через запятую и помещаются в квадратные скобки. Элементы в списках могут быть гетерогенными (т. е., разных типов), хотя обычно бывают гомогенными (одного типа):
Для создания списков также может использоваться конструктор list:
Также при создании списков используется List Comprehension, к которому мы еще вернемся.
Обращение к элементам списка
Вывод всего списка:
Вывести отдельные элементы списка можно, обратившись к ним по индексу (не забываем, что отсчет начинается с нуля).
В Python для обращения к элементам можно использовать и отрицательные индексы. При этом последний элемент в списке будет иметь индекс -1, предпоследний — -2 и так далее.
Распаковка списков (для python-3). Если поставить перед именем списка звездочку, все элементы этого списка будут переданы функции в качестве отдельных аргументов.
Списки мутабельны
Списки — это изменяемые контейнеры. То есть, вы можете изменять содержимое списка, добавляя и удаляя элементы.
Элементы списка можно перегруппировать, используя для индексирования другой список.
Создадим новый список из элементов списка my_list , а индексы нужных элементов возьмем из списка my_index :
Методы списков
Метод len() возвращает длину объекта (списка, строки, кортежа или словаря).
len() принимает один аргумент, который может быть или последовательностью (например, строка, байты, кортеж, список, диапазон), или коллекцией (например, словарь, множество, frozenset).
index()
index() возвращает индекс элемента. Сам элемент передается методу в качестве аргумента. Возвращается индекс первого вхождения этого элемента (т. е., если в списке два одинаковых элемента, вернется индекс первого).
Первый результат очевиден. Второй и третий output демонстрируют возврат индекса именно первого вхождения.
Цифра «2» встречается в списке дважды, первое ее вхождение имеет индекс 1, второе — 2. Метод index() возвращает индекс 1.
Аналогично возвращается индекс 0 для элемента «I».
Если элемент, переданный в качестве аргумента, вообще не встречается в списке, вернется ValueError. Так получилось с попыткой выяснить индекс «JavaScript» в списке words .
Опциональные аргументы
Чтобы ограничить поиск элемента конкретной подпоследовательностью, можно использовать опциональные аргументы.
Метод index() будет искать элемент «am» в диапазоне от элемента с индексом 2 (включительно) до элемента с индексом 5 (этот последний элемент не входит в диапазон).
При этом возвращаемый индекс — индекс элемента в целом списке, а не в указанном диапазоне.
Метод pop() удаляет и возвращает последний элемент списка.
Этому методу можно передавать в качестве параметра индекс элемента, который вы хотите удалить (это опционально). Если конкретный индекс не указан, метод pop() удаляет и возвращает последний элемент списка.
Если в списке нет указанного вами индекса, метод выбросит exception IndexError: pop index out of range .
Базовый функционал стека
Для реализации базового функционала стека в программах на Python часто используется связка метода pop() и метода append():
List Comprehension
List Comprehension это создание списка путем итерации в цикле уже существующего списка (с соблюдением указанных условий). Поначалу такой подход может казаться сложным, но когда разберетесь, вы поймете, насколько это просто и быстро.
Чтобы разобраться в list comprehension, нужно для начала обратиться к обычной итерации списка. В следующем простом примере показано, как вернуть новый список, состоящий только из четных чисел старого.
Давайте разберем этот пример. Сначала мы создаем список с числами. Затем создаем пустой список, в котором будут сохраняться результаты, полученные в цикле. Дальше идет сам цикл, в котором мы перебираем числа из первого списка и проверяем, являются ли они четными. Если число делится на 2 без остатка, мы добавляем его в список четных чисел. Для получения нужного результата нам потребуется 5 строк кода (без учета комментариев), да еще пробелы.
А теперь давайте посмотрим пример, в котором мы делаем все то же самое, но с помощью list comprehension.
Давайте возьмем еще пример. Создадим список, каждый элемент которого будет элементом старого списка, умноженным на 7.
С помощью list comprehension можно достичь того же результата:
Вообще list comprehension пишется в соответствии со следующей формулой:
В блоке
В блок
List comprehension добавляет элемент из существующего списка в новый, если соблюдается какое-то условие. Этот способ лаконичнее, а в большинстве случаев еще и намного быстрее. Иногда применение list comprehension может ухудшить читаемость кода, поэтому разработчику нужно действовать по ситуации.
Примеры использования list comprehension с условиями
Вносим в новый список только четные числа:
Это эквивалентно следующему циклу:
List comprehension может также содержать вложенные if-условия. Обратите внимание на следующий пример:
С применением list comprehension этот код можно переписать следующим образом:
С list comprehension также может использоваться if-else. В следующем примере мы берем диапазон чисел от 0 до 10 и добавляем в наш список все четные числа из этого диапазона, а нечетные добавляем после умножения на -1.

Английский для программистов
Наш телеграм канал с тестами по английскому языку для программистов. Английский это часть карьеры программиста. Поэтому полезно заняться им уже сейчас