Вы не можете выполнять задания в пределах списка.Попытка сделать это вызывает `SyntaxError, например:
[x = 0 for _ in range(1)]
# SyntaxError: invalid syntax
Я полагаю, что ужасный хак, чтобы попытаться достичь этого, мог бы определить функцию, которую вы вызываете в понимании списка, который выполняет назначение (используя глобальныепеременные).Но это было бы намного хуже, чем просто использовать обычный цикл for вместо понимания списка.По сути, всякий раз, когда использование понимания списка не работает сразу, вам, вероятно, лучше использовать цикл for.Вам будет легче программировать, а другим - понимать.
# hacky; don't do this
def set_x(val):
global x
x = val
[set_x(i) for i in range(3)]
x # 2