В 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'}