Что вы знаете о list, dict comprehensions?

LIst/Dict comprehensions позволяют легко создавать объект на основе итерируемого объекта. Официальная документация Python говорит, что list comprehensions обычно быстрее, чем стандартный loop. Но это варьируется от релиза к релизу.

Примеры:

1. Обычная итерация:

item = []
for n in range(10):
    item.append(n*2)

print(item)

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

2. List Comprehension:

item = [n*2 for n in range(10)]
print(item)

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

Оба куска кода дают один и тот же результат.

3. Dict Comprehension:

item = {n: n*2 for n in range(10)}
print(item)

{0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}