Top.Mail.Ru
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация

Как найти длину списка в Python: инструкция

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
18 ноября 2022 г.
17583
3 минуты чтения
Средний рейтинг статьи: 5

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

Метод len()

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()

Метод 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() его необходимо импортировать.

Выгодные тарифы на облако

  • Premium 3.3 ГГц
  • Dedicated CPU
Москва
Cloud MSK 15

300 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
NVMe
15 ГБ
Канал
1 Гбит/с
Публичный IP
Cloud MSK 30

550 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
NVMe
30 ГБ
Канал
1 Гбит/с
Публичный IP

Заключение

В рамках этого материала мы рассмотрели 4 способа нахождения длины списка в Python. Наиболее оптимальным методом при прочих равных является len(). Сложность его работы равна O(1) и применение остальных методов оправдано для реализации собственных классов наподобие list. Если вы хотите изучить Python глубже, то читайте другие наши публикации на тему работы с Python, а также арендуйте VDS и VPS у Timeweb Cloud для реализации своих проектов и экспериментов с этим языком. 

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
18 ноября 2022 г.
17583
3 минуты чтения
Средний рейтинг статьи: 5
  • Ваш комментарий
  • Предпросмотр
Пока нет комментариев
Произошла неизвестная ошибка
Мы используем на сайте куки.
В интернете без них никак