python - 皮林特 : Using possibly undefined loop variable 'n'

标签 python enumerate

皮林特说

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是未定义的,ok。但我喜欢这个把戏。如何安全使用?

我认为使用 len(list(iterator)) 不是最佳选择,因为您必须执行两个循环。我认为使用计数器并递增它不是很 pythonic。

最佳答案

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

关于python - 皮林特 : Using possibly undefined loop variable 'n' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2344315/

相关文章:

python - 为什么这不能作为数组成员资格测试?

python - sklearn.roc_auc_score() 和 sklearn.plot_roc_curve() 之间的区别

Python:Scipy:强力优化

python - 有人可以向我解释为什么第二种方法没有完全更新字符串吗?

python - 带有枚举的基本 python 文件 io 变量

python - 为什么我不能在打开的文件上调用 read() 两次?

python - tf.Variable 具有来自输入占位符的动态形状

python - 如何制作前一个值不满足条件的索引数组?

python - 在带有嵌套 enumerate() 的 for 循环中添加第二个参数有什么作用?

Python 如何使用枚举和列表跳过第一次(即零次)迭代?