Найти в Дзене

🐍 Python: Генераторы списков

List comprehension — мощный и компактный способ создания списков: # База squares = [x**2 for x in range(10)] # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # С условием evens = [x for x in range(20) if x % 2 == 0] # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] # Вложенные циклы pairs = [(x, y) for x in [1, 2] for y in [3, 4]] # [(1,3), (1,4), (2,3), (2,4)] # Генератор (экономит память!) gen = (x**2 for x in range(1000000)) for val in gen: # вычисляется по одному print(val) # Dict comprehension d = {x: x**2 for x in range(5)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} 💡 Быстрее и питоничнее, чем цикл for!

🐍 Python: Генераторы списков

List comprehension — мощный и компактный способ создания списков:

# База

squares = [x**2 for x in range(10)]

# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# С условием

evens = [x for x in range(20) if x % 2 == 0]

# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

# Вложенные циклы

pairs = [(x, y) for x in [1, 2] for y in [3, 4]]

# [(1,3), (1,4), (2,3), (2,4)]

# Генератор (экономит память!)

gen = (x**2 for x in range(1000000))

for val in gen: # вычисляется по одному

print(val)

# Dict comprehension

d = {x: x**2 for x in range(5)}

# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

💡 Быстрее и питоничнее, чем цикл for!