Книга «Изучаем Python»


digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]



Pdf көрінісі
бет43/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   39   40   41   42   43   44   45   46   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> 
min(digits)
0
>>> 
max(digits)
9
>>> 
sum(digits)
45
ПРИМЕЧАНИЕ
В примерах этой главы используются короткие списки чисел, но это делается только для того, что-
бы данные помещались на странице . Примеры также будут работать и в том случае, если список 
содержит миллионы чисел .
Генераторы списков
Описанный выше способ генерирования списка 
squares
состоял из трех или 
четырех строк кода. 
Генератор списка
(list comprehension) позволяет сгенериро-


72
Глава 4 • Работа со списками
вать тот же список всего в одной строке. Генератор списка объединяет цикл 
for
и создание новых элементов в одну строку и автоматически присоединяет к списку 
все новые элементы. Учебники не всегда рассказывают о генераторах списка на-
чинающим программистам, но я привожу этот материал, потому что вы с большой 
вероятностью встретите эту конструкцию, как только начнете просматривать код 
других разработчиков.
В следующем примере список квадратов, знакомый вам по предыдущим примерам, 
строится с использованием генератора списка:
squares.py
squares = [value**2 for value in range(1,11)]
print(squares)
Чтобы использовать этот синтаксис, начните с содержательного имени списка, 
например 
squares
. Затем откройте квадратные скобки и определите выражение 
для значений, которые должны быть сохранены в новом списке. В данном приме-
ре это выражение 
value**2
, которое возводит значение во вторую степень. Затем 
напишите цикл 
for
для генерирования чисел, которые должны передаваться вы-
ражению, и закройте квадратные скобки. Цикл 
for
в данном примере — 
for value 
in range(1,11)
— передает значения с 1 до 10 выражению 
value**2
. Обратите 
внимание на отсутствие двоеточия в конце команды 
for
.
Результатом будет уже знакомый вам список квадратов:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Чтобы успешно писать собственные генераторы списков, необходим определенный 
опыт. Тем не менее, как только вы освоитесь с созданием обычных списков, вы 
оцените возможности генераторов. Когда после очередного трех-четырехстрочного 
блока вам это надоест, подумайте о написании собственных генераторов списков.


Достарыңызбен бөлісу:
1   ...   39   40   41   42   43   44   45   46   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет