echar un vistazo al siguiente fragmento de código, que muestra una lista por comprensión ..lista de Python comprensión valor anulando
>>> i = 6
>>> s = [i * i for i in range(100)]
>>> print(i)
Al ejecutar el ejemplo de código en Python 2.6 imprime , pero cuando lo ejecuta en Python 3.x imprime .
¿Cuáles fueron las razones para cambiar el comportamiento y por qué es la salida en Python 3.x?
¡Gracias de antemano!
Wow. Tengo suerte de haberlo encontrado aquí, buscaría el error durante semanas si me tropecé con esto en mi propio código. +1 para pregunta, -1 para Python :( – Kos
Pregunta similar aquí: http://stackoverflow.com/questions/4198906/python-list-comprehension-rebind-names-even-after-scope-of-comprehension-is- esto –