Что означает переменная перед for при минимизации кода

Я захотел написать код в минимальное количество строк и столкнулся вот с этим [i for i in x]. Объясните, пожалуйста, что означает i перед for?


Ответы (3 шт):

Автор решения: passant

То, о чем вы спрашиваете по-русски называется "генератор списков", только требует того, что-бы его употребляли в квадратных скобках. Читайте тут

https://webdevblog.ru/kogda-ispolzovat-list-comprehension-v-python/

→ Ссылка
Автор решения: Никита

То с чем вы столкнулись - является генератором. i перед for означает что генератор будет возвращать значение i. Таким образом можно сгенерировать список. Несколько примеров:

>>> [i for i in range(4)]
#Вывод: [0, 1, 2, 3]

>>> [i.upper() for i in ['a', 'b', 'c']]
#Вывод: ['A', 'B', 'C']

Генераторы довольно сложно понять. Поэтому, возможно, вы будете долго разбираться с ними. Для начала прочтите это.

→ Ссылка
Автор решения: ThIsIsTails

i - название значения в for (Ну или генератор)

То есть когда ты вызываешь цикл тебе нужно написать переменную куда будет поступать цифра, класс, строка и т.д А этот самый i и есть переменная для for. (i for i in x)

true = True
some_text = "Yes" if true else "No" # Ставит "Yes" Т.к true = True

Это ещё один пример.

Такие сокращения можно использовать и в f"{i for i in x}" И т.д Главное знать как их использовать

→ Ссылка