Генераторы коллекций



В Python есть специальная конструкция, позволяющая быстрее и удобнее создавать заполненные коллекции на основе имеющихся, при этом применяя какое-либо выражение к каждому элементу.



1. Генератор списка (list comprehension)



word = 'hello'

new_list = [c.upper() for c in word]

# ['H', 'E', 'L', 'L', 'O']



2. Генератор множества (set comprehension)



elements = [1, 2, 1, 3, 2]

new_set = {n * 0.1 for n in elements}

# {0.1, 0.2, 0.3}



3. Генератор словаря (dictionary comprehension)



numbers = {'one': 1, 'two': 2, 'three': 3}

new_dict = {v: k for k, v in numbers.items()}

# {1: 'one', 2: 'two', 3: 'three'}