Задать вопрос
@HitGirl

Почему данный код не выдаёт ошибку (операторы for и if в аргументе метода)?

Здравствуйте!
Подскажите, пожалуйста, что за синтаксис используется в строчке кода: print("".join(ch for ch in guts if d[ch] == 1)),
и почему она не выдаёт исключений, хотя операторы for и if используются без двоеточий?
guts = "text"
d = {}
for ch in guts:
    d[ch] = d.get(ch, 0) + 1
print("".join(ch for ch in guts if d[ch] == 1))
  • Вопрос задан
  • 71 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 2
tsarevfs
@tsarevfs
C++ developer
https://all-python.ru/osnovy/generator-spiska.html
Когда используются круглые скобки, сам массив не создается. Вместо этого создается объект-генератор, который хранит только текущий элемент и умеет находить следующий. Из минусов, мы можем пройти по такому генератору только один раз.
Ответ написан
Комментировать
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы