Перейти к содержимому

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

  • автор:

Массивы

Большинство программ работает не с отдельными переменными, а с набором переменных. Например, программа может обрабатывать информацию об учащихся класса, считывая список учащихся с клавиатуры или из файла, при этом изменение количества учащихся в классе не должно требовать модификации исходного кода программы.

Раньше мы сталкивались с задачей обработки элементов последовательности, например, вычисляя наибольший элемент последовательности. Но при этом мы не сохраняли всю последовательность в памяти компьютера, однако, во многих задачах нужно именно сохранять всю последовательность, например, если бы нам требовалось вывести все элементы последовательности в возрастающем порядке (“отсортировать последовательность”).

Для хранения таких данных можно использовать структуру данных, называемую в Питоне список (в большинстве же языков программирования используется другой термин “массив”). Список представляет собой последовательность элементов, пронумерованных от 0, как символы в строке. Список можно задать перечислением элементов списка в квадратных скобках, например, список можно задать так:

Primes = [2, 3, 5, 7, 11, 13]
Rainbow = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']

В списке Primes — 6 элементов, а именно, Primes[0] == 2, Primes[1] == 3, Primes[2] == 5, Primes[3] == 7, Primes[4] == 11, Primes[5] == 13. Список Rainbow состоит из 7 элементов, каждый из которых является строкой.

Также как и символы строки, элементы списка можно индексировать отрицательными числами с конца, например, Primes[-1] == 13, Primes[-6] == 2.

Длину списка, то есть количество элементов в нем, можно узнать при помощи функции len, например, len(A) == 6.

Рассмотрим несколько способов создания и считывания списков. Прежде всего можно создать пустой список (не содержащий элементов, длины 0), в конец списка можно добавлять элементы при помощи метода append. Например, если программа получает на вход количество элементов в списке n, а потом n элементов списка по одному в отдельной строке, то организовать считывание списка можно так:

A = []
for i in range(int(input()):
A.append(int(input())

В этом примере создается пустой список, далее считывается количество элементов в списке, затем по одному считываются элементы списка и добавляются в его конец.

Для списков целиком определены следующие операции: конкатенация списков (добавление одного списка в конец другого) и повторение списков (умножение списка на число). Например:

A = [1, 2, 3]
B = [4, 5]
C = A + B
D = B * 3

В результате список C будет равен [1, 2, 3, 4, 5], а список D будет равен [4, 5, 4, 5, 4, 5]. Это позволяет по-другому организовать процесс считывания списков: сначала считать размер списка и создать список из нужного числа элементов, затем организовать цикл по переменной i начиная с числа 0 и внутри цикла считывается i-й элемент списка:

A = [0] * int(input())
for i in range(len(A)):
A[i] = int(input())

Вывести элементы списка A можно одной инструкцией print(A), при этом будут выведены квадратные скобки вокруг элементов списка и запятые между элементами списка. Такой вывод неудобен, чаще требуется просто вывести все элементы списка в одну строку или по одному элементу в строке. Приведем два примера, также отличающиеся организацией цикла:

for i in range(len(A)): 
print(A[i])

Здесь в цикле меняется индекс элемента i, затем выводится элемент списка с индексом i.

for elem in A: 
print(elem, end = ' ')

В этом примере элементы списка выводятся в одну строку, разделенные пробелом, при этом в цикле меняется не индекс элемента списка, а само значение переменной (например, в цикле for elem in [‘red’, ‘green’, ‘blue’] переменная elem будет последовательно принимать значения ‘red’, ‘green’, ‘blue’.

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

В Python есть несколько способов для того, чтобы узнать длину списка. Длина списка — это количество элементов в нем. В этой статье мы рассмотрим три метода для определения длины списка. Как правило, наиболее эффективным является метод len(). Поскольку список — это объект, его размер уже хранится в памяти для быстрого извлечения.

Метод len()

Найти длину списка можно с помощью встроенного метода len() . Он принимает последовательность или коллекцию в качестве аргумента и возвращает количество элементов, которые в них есть.

Синтаксис метода len() следующий:

len(s)

В данном примере вы увидите список и определение его длины с помощью метода len():

inp_lst = ['Python', 'Java', 'Ruby', 'JavaScript'] size = len(inp_lst) print(size)

Вывод будет следующим:

Альтернативные способы определения длины списка

Метод len() обычно является наиболее эффективным способом определения длины списка, но в Python есть и несколько других.

Метод length_hint()

Модуль operator в Python содержит метод length_hint(), который позволяет оценить длину заданного итерируемого объекта. Если длина известна, то метод length_hint() возвращает фактическую длину, в противном случае он возвращает предполагаемую длину. Длина списков всегда известна, поэтому обычно для ее оценки используется метод len().

Синтаксис метода length_hint():

length_hint(object)

В следующем примере вы увидите список и определение его длины с помощью метода length_hint():

from operator import length_hint inp_lst = ['Python', 'Java', 'Ruby', 'JavaScript'] size = length_hint(inp_lst) print(size)

Получим следующий вывод:

Цикл for

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

Основные этапы определения длины списка с помощью цикла for:

  • Объявите переменную counter и инициализируйте ее нулем.
counter = 0
  • При помощи цикла for выполните перебор всех элементов данных и, находя новый элемент, увеличивайте переменную counter на 1.
for item in list: counter += 1
  • Длина массива хранится в переменной counter, а сама переменная представляет количество элементов в списке. Переменная может быть использована в другом коде или выводе.
print(counter)

В следующем примере показано, как определить длину списка с помощью цикла:

inp_lst = ['Python', 'Java', 'Ruby', 'JavaScript'] size = 0 for x in inp_lst: size += 1 print(size)

Вывод будет следующим:

Читайте также: Циклы for в Python 3

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

Монитор Dell UltraSharp U4025QW поддерживает Thunderbolt 4 и частоту обновления 120 Гц

Favorite

Добавить в избранное

(1 оценок, среднее: 5,00 из 5)

Что нового в Python 3

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

В этой статье показано, как определить длину списка.

Функция len()

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

Синтаксис функции len() следующий:

len(list)

Функция принимает только один аргумент. Возвращаемое значение — целое число, которое представляет собой количество элементов в списке.

cities = ['Krasnodar', 'Moscow', 'Ekaterinburg', 'Rostov'] list_len = len(cities) print("The list has elements.".format(list_len))
The list has 4 elements.

Использование цикла

Другой способ узнать длину списка — использовать цикл for. Это работает путем установки счетчика и перебора всех элементов списка. На каждой итерации текущее значение counterпеременной увеличивается на единицу.

Ниже приведен пример кода, который показывает, как с помощью цикла for найти количество элементов в заданном списке :

cities = ['Krasnodar', 'Moscow', 'Ekaterinburg', 'Rostov'] counter = 0 for capital in cities: counter = counter + 1 print("The list has elements.".format(counter))
The list has 4 elements.

Этот метод не очень питонический. Вы всегда должны предпочесть использовать функцию len().

Вывод

Чтобы узнать длину списка в списке Python, используйте функцию len().

Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *