所以我在another post中看到了以下“糟糕”的片段,但我见过的唯一选择是修补Python。
for i in xrange(len(something)):
workwith = something[i]
# do things with workwith...
我该怎么做才能避免这种“反模式”?
答案 0 :(得分:23)
如果你需要知道循环体中的索引:
for index, workwith in enumerate(something):
print "element", index, "is", workwith
答案 1 :(得分:22)
请参阅Pythonic
for workwith in something:
# do things with workwith
答案 2 :(得分:12)
由于有two answers提出的问题完全有效(每个都有假设)并且问题的作者没有告诉我们索引的命运,因此有效答案应为:
for workwith in something: print "element", workwith
如果你need index:
for index, workwith in enumerate(something): print "element", index, "is", workwith
如果我的答案不合适,请评论,我会将其删除:)
答案 3 :(得分:0)
例如:
[workwith(i) for i in something]
答案 4 :(得分:-3)
什么是x
?如果它是一个序列或迭代器或字符串,那么
for i in x:
workwith = i
会正常工作。