LC exportiert Laufvariable?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Gnushi
User
Beiträge: 77
Registriert: Dienstag 12. Dezember 2006, 09:49

LC exportiert Laufvariable?

Beitragvon Gnushi » Samstag 1. März 2008, 00:22

Hallo zusammen!

Folgendes Programm funktioniert merkwürdigerweise:

Code: Alles auswählen

def f(l):
    new_l = [i for i in l if i % 2 == 0]
    print i

f(range(10))


Ist es gewollt, dass eine Laufvariable aus einer List Comprehension exportiert wird?

GnuShi
BlackJack

Beitragvon BlackJack » Samstag 1. März 2008, 01:10

Ja und nein. Es ist kein Bug, also schon irgendwie gewollt, aber in Python 3.0 wird dieses Leck verschwinden. Generator-Ausdrücke lecken nicht.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 1. März 2008, 11:55

Mir ist es auch schon öfter passiert, das die Variablen aus den LCs heraus-leaken was ich in der Regel nicht besonders toll fand, weil es mir irgendwas kaputt gemacht hat. Schön, dass sich das in Python 3.0 ändert.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: __deets__