Списки в Python используются практически повсеместно. В этом материале мы рассмотрим 4 способа как найти длину списка Python: с помощью встроенных функций, рекурсии и цикла. Длина списка чаще всего используется для перемещения по списку и выполнения с ним различных операций.
len()
— встроенный метод Python для нахождения длины списка. На вход метод принимает один параметр: сам список. В качестве результата len()
возвращает целочисленное значение — длину списка. Также этот метод работает и с другими итеративными объектами, например со строками.
Применение:
Country_list = ["The United States of America", "The Russian Federation", "France", "Germany"]
count = len(Country_list)
print("There are", count, "countries")
Вывод:
There are 4 countries
клауд
Длину списка можно узнать с помощью цикла for
. Для этого необходимо пройти по всему списку, увеличивая счетчик на 1 за каждую итерацию. Определим для этого отдельную функцию:
def list_length(list):
counter = 0
for i in list:
counter=counter+1
return counter
Country_list = ["The United States of America", "The Russian Federation", "France", "Germany","Japan"]
count = list_length(Country_list)
print("There are", count, "countries")
Вывод:
There are 5 countries
Задачу поиска длины списка можно решить с помощью рекурсии. Вот код:
def list_length_recursive(list):
if not list:
return 0
return 1 + list_length_recursive(list[1:])
Country_list = ["The United States of America", "The Russian Federation", "France", "Germany","Japan","Poland"]
count = list_length_recursive(Country_list)
print("There are", count, "countries")
Вывод:
There are 6 countries
Как это работает. На вход в функцию list_length_recursive()
поступает список. Если он не содержит элементов, то возвращает 0 — длина пустого списка равна нулю. Если в нём есть элементы, то он вызывает рекурсивную функцию с аргументов list[1:]
— срезом исходного списка с 1 элемента, т.е. списком без элемента на 0 индексе. Результат работы этой функции прибавляется к 1. За каждую рекурсию result увеличивается на единицу, а список уменьшается на 1 элемент.
Метод length_hint()
относится к модулю operator
. В модуль operator
включены функции, аналогичные внутренним операторам Python: сложению, вычитанию, сравнению и т.п. Метод length_hint()
возвращает длину итеративных объектов: строк, кортежей, словарей и списков. Работает length_hint()
аналогично методу len()
:
from operator import length_hint
Country_list = ["The United States of America", "The Russian Federation", "France", "Germany", "Japan", "Poland", "Sweden"]
count = length_hint(Country_list)
print("There are", count, "countries")
Вывод:
There are 7 countries
Для работы с length_hint()
его необходимо импортировать.
Выгодные тарифы на облако
В рамках этого материала мы рассмотрели 4 способа нахождения длины списка в Python. Наиболее оптимальным методом при прочих равных является len()
. Сложность его работы равна O(1) и применение остальных методов оправдано для реализации собственных классов наподобие list
. Если вы хотите изучить Python глубже, то читайте другие наши публикации на тему работы с Python, а также арендуйте VDS и VPS у Timeweb Cloud для реализации своих проектов и экспериментов с этим языком.