CoolPython
Генератор кортежей
Генераторы списков — это конструкции вида
[x for x in range(5)]
# [0, 1, 2, 3, 4]
Чаще всего их используют для создания списков на лету. Но можно создавать и словари, если использовать фигурные скобки и пары значений, разделенных двоеточием:
{n: n**2 for n in range(5)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
Кортеж так создать не получится, потому что круглые скобки зарезервированы под генераторные выражения.
Но если все же хочется создать кортеж на лету именно этим способом, то можно вот так:
*(x for x in range(5)),
# (0, 1, 2, 3, 4)
То есть, распаковываем и ставим запятую, чтобы обозначить, что это кортеж. Такие дела!
24 · 10.5K ·