Списки являются одной из основных структур данных в Python и используются для хранения нескольких элементов в одной переменной. Иногда важно знать размер списка, т. е. сколько элементов он содержит.
Например, у нас есть список названий некоторых команд MLB. Чтобы узнать общее количество команд в MLB, нам просто нужно узнать размер списка.
mlb_teams = ['New York Yankees', 'Boston Red Sox', 'Los Angeles Dodgers', 'Chicago Cubs', 'San Francisco Giants']
- Метод 1: использование функции len()
- Метод 2: использование length_hint()
- Метод 3: использование цикла for
- Метод 4: использование выражения генератора с методом sum()
Метод 1: использование функции len()
В Python функция len() используется для определения количества элементов (длины) в списке или другом итерируемом объекте. Здесь мы просто воспользуемся len() и распечатаем результат.
Это список всех штатов США, упорядоченных в алфавитном порядке, чтобы узнать, сколько всего штатов находится в США:
us_states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'] print('Total number of US states are: \n', len(us_states))
Результат:
Total number of US states are: 50
Метод 2: использование length_hint()
Модуль оператора Python имеет метод length_hint() для оценки длины данного итерируемого объекта.
Здесь сначала мы импортируем метод length_hint из модуля оператора, просто используем length_hind() и напечатаем результат.
В этом списке Python мы собирали данные для самых густонаселенных городов США, но забываем количество названий, которые мы вписали. Чтобы получить число, мы найдем размер списка Python.
from operator import length_hint top_us_cities = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix'] size = length_hint(top_us_cities) print(size)
Результат:
5
Метод 3: использование цикла for
Это более ручной подход в Python List. Здесь мы создадим переменную-счетчик, чтобы поддерживать счетчик, и будем увеличивать ее каждый раз, когда цикл for проходит по списку в Python.
В этом месяце нам предстоит посетить разные штаты:
states = ['New York', 'California', 'Texas'] counter = 0 for i in states: counter += 1 print('Numbers of states we are visiting is: ', counter)
Результат:
Numbers of states we are visiting is: 3
Метод 4: использование выражения генератора с методом sum()
Этот метод похож на метод цикла Python for, но использует выражение-генератор — более «Pythonic» способ обработки списков. Здесь мы создаем новую итерацию из единиц той же длины, что и исходный список, а затем суммируем ее, чтобы получить размер, используя метод sum().
В этот список входят некоторые ведущие технологические компании США. Давайте узнаем, сколько их.
us_tech_companies = ['Apple', 'Google', 'Microsoft', 'Amazon', 'Facebook'] Number = sum(1 for _ in us_tech_companies) print('Number of top US companies is: ', Number)
Результат:
Number of top US companies is: 5
Примечание. Мы также можем использовать понимание списка для создания итерации.