Python pylint:使用可能未定义的循环变量';n';

Python pylint:使用可能未定义的循环变量';n';,python,enumerate,Python,Enumerate,派林说 W: 6: Using possibly undefined loop variable 'n' 因为如果迭代器为空(例如[]),则n未定义,确定。但我喜欢这个把戏。如何以安全的方式使用它 我认为使用len(list(iterator))不是最好的选择,因为您必须执行两个循环。使用一个计数器,然后增加它,我认为这不是一个很好的pythonic。您是否考虑过在运行循环之前将n初始化为None?在for语句之前为n定义一个默认值: iterator = (i*i for i in rang

派林说

W: 6: Using possibly undefined loop variable 'n' 因为如果迭代器为空(例如[]),则n未定义,确定。但我喜欢这个把戏。如何以安全的方式使用它


我认为使用len(list(iterator))不是最好的选择,因为您必须执行两个循环。使用一个计数器,然后增加它,我认为这不是一个很好的pythonic。

您是否考虑过在运行循环之前将n初始化为None?

for
语句之前为
n
定义一个默认值:

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

嗯。。。是的,很简单
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