s = [] # Создаем пустой список
for i in range(10): # Осуществляем 10 итераций - от 0 до 9
s.append(i ** 3) # Добавляем к списку куб каждого числа
print(s) # [0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
# Так как строка является итерируемым объектом, то по ней можно пройтись в цикле.
word = 'Парашют' # Начальное слово
s = [] # Создаем пустой список
for i in word.upper(): # Проходимся по каждой букве в слове
s.append(i) # Приводим все буквы к верхнему регистру
print(s) # ['П', 'А', 'Р', 'А', 'Ш', 'Ю', 'Т']
def mod5(x): # Создаем функцию, которая возвращает
return x % 5 # остаток от деления на 5
s = [5, 7, 11, 20] # Исходный список
print(list(map(mod5, s))) # [0, 2, 1, 0] - список остатков
s = [7, 22, 49, 701] # Исходный список чисел
n = list(map(lambda x: x // 7, s)) # Новый список целочисленного деления на 7
print(n) # [1, 3, 7, 100]
новый_список = [«операция» for «элемент списка» in «список»]
old_prices = [120, 550, 410, 990] # Исходный список цен на товары в рублях
discount = 0.15 # Скидка в 15 %
new_prices = [int(product * (1 - discount)) for product in old_prices] # Вычисляем новые цены (без учета копеек)
print(new_prices) # [102, 467, 348, 841]
новый_список = [«операция» for «элемент списка» in «список» if «условие»]
numbers = [121, 544, 111, 99, 77] # Исходный список чисел
number11 = [num for num in numbers if num % 11 == 0] # Выбираем только те числа, которые делятся на 11
print(number11) # [121, 99, 77]
новый_список = [«операция» if «условие» for «элемент списка» in «список»]
ascii_letters = {str} 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
from string import ascii_letters
letters = 'hыtφтrцзqπ' # набор букв из разных алфавитов
# Разграничиваем буквы на английские и не английские
is_eng = [f'{letter}-ДА' if letter in ascii_letters else f'{letter}-НЕТ' for letter in letters]
print(is_eng)
# ['h-ДА', 'ы-НЕТ', 't-ДА', 'φ-НЕТ', 'т-НЕТ', 'r-ДА', 'ц-НЕТ', 'з-НЕТ', 'q-ДА', 'π-НЕТ']
# Представим список из слов, который мы хотим привести к сплошному списку из букв.
# Реализация представлена ниже.
words = ['Я', 'изучаю', 'Python'] # Список слов
letters = [letter for word in words for letter in word] # Двойная итерация: по словам и по буквам
print(letters) # ['Я', 'и', 'з', 'у', 'ч', 'а', 'ю', 'P', 'y', 't', 'h', 'o', 'n']
# Списковые включения могут генерировать список списков.
# Попробуем сформировать таблицу умножения чисел от 1 до 5.
table = [[x * y for x in range(1, 6)] for y in range(1, 6)]
print(table)
[[1, 2, 3, 4, 5],
[2, 4, 6, 8, 10],
[3, 6, 9, 12, 15],
[4, 8, 12, 16, 20],
[5, 10, 15, 20, 25]]