9 python for-loop anti-patterns
所以我在另一篇文章中看到了以下"糟糕"的片段,但我见过的唯一选择是修补Python.
for i in xrange(len(something)):
workwith = something[i]
# do things with workwith...
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能避免这种"反模式"?
Gre*_*ill 23
如果你需要知道循环体中的索引:
for index, workwith in enumerate(something):
print "element", index, "is", workwith
Run Code Online (Sandbox Code Playgroud)
kmk*_*lan 22
for workwith in something:
# do things with workwith
Run Code Online (Sandbox Code Playgroud)
myr*_*lav 12
由于有两个 问题的答案是完全有效的(每个都有一个假设)并且问题的作者没有告诉我们索引的命运,因此有效答案应为:
如果你根本不需要索引:
Run Code Online (Sandbox Code Playgroud)for workwith in something: print "element", workwith如果你需要索引:
Run Code Online (Sandbox Code Playgroud)for index, workwith in enumerate(something): print "element", index, "is", workwith
如果我的答案不合适,请评论,我会删除它:)