首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替代'for i in xrange(len(x))‘

替代'for i in xrange(len(x))‘
EN

Stack Overflow用户
提问于 2009-02-23 18:10:53
回答 5查看 7.1K关注 0票数 9

因此,我在another post中看到了以下“糟糕”的代码片段,但我所见过的唯一替代方案是打补丁。

代码语言:javascript
复制
for i in xrange(len(something)):
  workwith = something[i]
  # do things with workwith...

我该如何避免这种“反模式”?

EN

回答 5

Stack Overflow用户

发布于 2009-02-23 18:15:00

如果您需要知道循环体中的索引:

代码语言:javascript
复制
for index, workwith in enumerate(something):
    print "element", index, "is", workwith
票数 23
EN

Stack Overflow用户

发布于 2009-02-23 18:12:36

请参阅Pythonic

代码语言:javascript
复制
for workwith in something:
    # do things with workwith
票数 22
EN

Stack Overflow用户

发布于 2009-02-24 16:54:18

由于有一些two answers问题是完全有效的(每个问题都有一个假设),并且问题的作者没有告诉我们索引的命运,所以有效的答案应该是:

如果你使用do not need index的话:

要在某物中使用:打印"element",使用

如果你使用need index

对于索引,在枚举中使用: print "element",index,"is",使用

如果我的回答不合适,请评论,我会删除它:)

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/578677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档