Pylint: Unter Verwendung möglicherweise undefiniert Schleifenvariable ‚n‘
Frage
Pylint sagen wir
W: 6: Using possibly undefined loop variable 'n'
Mit diesem Code:
iterator = (i*i for i in range(100) if i % 3 == 0)
for n, i in enumerate(iterator):
do_something(i)
print n
, denn wenn der Iterator leer ist (zum Beispiel []) n nicht definiert ist, ok. Aber Ich mag diesen Trick. Wie es in einer sicheren Art und Weise zu benutzen?
Ich denke, dass len Verwendung (Liste (Iterator)) ist nicht die beste Wahl, weil Sie haben zwei Schleifen zu tun. Mit Hilfe eines Zählers, und es erhöht wird denke ich, es ist nicht sehr pythonic ist.
Lösung
Haben Sie darüber nachgedacht lediglich n auf Keine Initialisierung vor der Schleife ausgeführt wird?
Andere Tipps
Definieren Sie einen Standardwert für n
vor der for
Anweisung:
iterator = (i*i for i in range(100) if i % 3 == 0)
n=None
for n, i in enumerate(iterator):
do_something(i)
print n
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow