Diciamo che ho un semplice pezzo di codice come questo:Loop mentre si controlla se elemento in una lista in Python
for i in range(1000):
if i in [150, 300, 500, 750]:
print(i)
Condivide la lista [150, 300, 500, 750]
vengono creati ogni iterazione del ciclo? O posso supporre che l'interprete (ad esempio, CPython 2.7) sia abbastanza intelligente da ottimizzarlo?
Interessante domanda correlata: [Tupla o elenco quando si utilizza 'in' in una clausola 'if'?] (Http://stackoverflow.com/q/25368337/953482). Passa in qualche dettaglio su ciò che CPython fa sotto il cofano. – Kevin
Se non si specifica che si desidera conoscere l'interprete 1 * specifico *, è molto difficile rispondere. Puoi riformulare "(per esempio, CPython 2.7)" per specificare esattamente cosa vuoi sapere su quell'interprete? –