x=range(1,4)
y=range(1,4)
[(xi,yi) for xi in x for yi in y if xi is yi]
#output
# [(1, 1), (2, 2), (3, 3)]
[(xi,yi) for xi in x if xi is yi for yi in y ]
#output, I am confused about this one
#[(3, 1), (3, 2), (3, 3)]
Может ли кто-нибудь объяснить, почему второй цикл приводит к таким результатам?
Я довольно озадачен тем, как работают несколько встроенных циклов в Python.
Кроме того, любой учебник попредпочтительнее встроенные циклы python