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}