В Python список — это структура данных, которая хранит несколько элементов в одной переменной. Списки создаются путем помещения всех элементов в квадратные скобки [], разделенных запятыми. Он может содержать любое количество элементов и они могут быть разных типов(целое число, число с плавающей запятой, строка и т. д.).
Например, вот список целых чисел:
numbers = [1, 2, 3, 4, 5]
Сумма через цикл for
Цикл for в Python используется для перебора последовательности(например, списка, кортежа, словаря, набора или строки) или других итерируемых объектов. Перебор последовательности называется обходом.
Пример:
for number in numbers: print(number)
Самый простой способ суммировать элементы в списке с помощью цикла Python for включает инициализацию переменной для хранения суммы, затем перебор списка и добавление каждого элемента в эту переменную.
Рассмотрим список самых высоких температур, когда-либо зарегистрированных в пяти штатах США(в градусах по Фаренгейту):
temperatures = [134, 128, 124, 118, 115] # CA, AZ, NV, TX, KS respectively total = 0 for temperature in temperatures: total += temperature print("The sum of the highest recorded temperatures is: ", total)
В этом примере используются самые высокие зарегистрированные температуры из пяти разных штатов. Цикл for Python перебирает каждую температуру в списке и добавляет ее к общей переменной. Окончательный оператор печати отображает сумму этих температур.
Выход:
Использование Enumerate
Функцию Python enumerate() можно использовать в цикле for для перебора чего-либо и получения автоматического счетчика.
Вот как вы можете использовать его для суммирования элементов в списке. Рассмотрим список, представляющий население(в миллионах) пяти крупных городов США.
populations = [8.4, 4.0, 2.7, 2.7, 1.7] # NYC, LA, Chicago, Houston, Phoenix respectively total = 0 for i, population in enumerate(populations): total += population print("The total population of the five cities is: ", total, "million")
В этом примере используется население пяти крупных городов США. Функция перечисления Python используется для получения индекса(i) и значения из списка(населения) для каждой итерации цикла Python for. Мы используем численность населения только для прибавления к общей сумме. В окончательном печатном отчете указана общая численность населения этих городов.
Выход:
Функция range()
Другой подход к суммированию элементов в списке с помощью цикла Python for — это использование функции Python range(), которая генерирует последовательность чисел.
Рассмотрим список длин (в милях) пяти самых длинных рек США.
rivers = [2530, 2460, 2348, 2320, 2068] # Missouri, Mississippi, Yukon, Rio Grande, Colorado respectively total = 0 for i in range(len(rivers)): total += rivers[i] print("The total length of the five longest rivers is: ", total, "miles")
Здесь у нас есть список длин пяти самых длинных рек США. Цикл for Python в сочетании с функциями Python range() и len() генерирует индекс(i) для каждой итерации. Этот индекс используется для доступа к значению из списка (rivers[i]), которое затем добавляется к общей сумме. В окончательном печатном виде указана общая длина этих рек.
Выход:
С разрезанием списка
Вы также можете использовать нарезку списка в цикле Python for для суммирования элементов в списке. Вот пример: рассмотрим список, представляющий количество национальных парков в нескольких штатах США.
national_parks = [9, 8, 5, 4, 4] # California, Alaska, Utah, Colorado, Washington respectively total = 0 for park in national_parks[:]: # A copy of the list is made. total += park print("The total number of national parks in these states is: ", total)
В этом примере используется список количества национальных парков в нескольких штатах. Цикл for Python перебирает копию исходного списка (созданного путем разрезания с помощью [:]), добавляя каждое число к общему числу.
Этот метод особенно полезен, если вам нужно изменить исходный список во время итерации по нему. В окончательном печатном отчете указано общее количество национальных парков в этих штатах.
Выход: