Что означает переменная перед for при минимизации кода
Я захотел написать код в минимальное количество строк и столкнулся вот с этим [i for i in x]. Объясните, пожалуйста, что означает i перед for?
Ответы (3 шт):
То, о чем вы спрашиваете по-русски называется "генератор списков", только требует того, что-бы его употребляли в квадратных скобках. Читайте тут
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']
Генераторы довольно сложно понять. Поэтому, возможно, вы будете долго разбираться с ними. Для начала прочтите это.
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}" И т.д Главное знать как их использовать