Pylint报告:
W: 6: Using possibly undefined loop variable 'n'
使用以下代码:
iterator = (i*i for i in range(100) if i % 3 == 0)
for n, i in enumerate(iterator):
do_something(i)
print n
因为如果迭代器为空(例如[]
)n
是未定义的,好的。 但我喜欢这个技巧。 如何以安全的方式使用它?
我认为使用len(list(iterator))
不是最佳选择,因为您必须执行两个循环。 我认为使用计数器并递增它不是非常pythonic。