Как найти длину списка в Python

Узнайте, как найти длину списка в Python с помощью функции len(). Поймите временную сложность O(1) и количество проверок.

Попробуйте это решение в редакторе

Обзор

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

На самом деле структура списка Python реализована как массив переменной длины. Он содержит внутренний счетчик, который отслеживает количество хранящихся в нем элементов. Когда вы вызываете `len(my_list)`, Python не просматривает список для подсчета элементов; он просто считывает этот внутренний счетчик. Это означает, что временная сложность len() всегда равна O(1) (постоянное время), что делает его исключительно быстрым независимо от размера списка.

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

Код и вывод выполнения

Этот скрипт демонстрирует определение длины списков, строк и словарей с помощью функции len().

empty = []
numbers = [10, 20, 30, 40, 50]
words = ["python", "code", "run"]

# 1. Finding lengths of lists
print("Empty list length:", len(empty))
print("Numbers list length:", len(numbers))

# 2. Finding length of a string
text = "Hello, World!"
print("String length:", len(text))

# 3. Finding length of a dictionary
details = {"id": 1, "name": "Alice"}
print("Dictionary length:", len(details))
Терминальный выход
Empty list length: 0
Numbers list length: 5
String length: 13
Dictionary length: 2

Пошаговая реализация

  • Вызовите функцию len() и передайте переменную списка в качестве ее единственного аргумента.
  • Сохраните возвращаемое целое число в переменной или распечатайте/оцените его напрямую.
  • Используйте результат в условиях или математических вычислениях (например, при индексировании).

Часто задаваемые вопросы

Почему len() в Python работает так быстро?

Потому что встроенные коллекции Python хранят количество элементов внутри себя. Вызов len() просто считывает поле структуры без выполнения какой-либо итерации.

Что произойдет, если я вызову len() для объекта пользовательского класса?

Это вызовет ошибку TypeError, если вы не определите магический метод __len__(self) в определении своего пользовательского класса.

Связанные темы

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.