Python 中的 for 循环

新手上路,请多包涵

在 C/C++ 中,我可以有以下循环

for(int k = 1; k <= c; k += 2)

如何在 Python 中做同样的事情?

我可以做这个

for k in range(1, c):

在 Python 中,这与

for(int k = 1; k <= c; k++)

在 C/C++ 中。

原文由 newprint 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 244
2 个回答

您还应该知道,在 Python 中,遍历整数索引是一种糟糕的风格,而且比替代方法更慢。如果您只想查看列表或字典中的每一项,请直接循环遍历列表或字典。

 mylist = [1,2,3]
for item in mylist:
    print item

mydict  = {1:'one', 2:'two', 3:'three'}
for key in mydict:
    print key, mydict[key]

这实际上比将上述代码与 range() 结合使用更快,并且删除了无关的 i 变量。

如果您需要就地编辑列表项,那么您 确实 需要索引,但还有更好的方法:

 for i, item in enumerate(mylist):
    mylist[i] = item**2

同样,这既更快又被认为更具可读性。这是从 C++ 转向 Python 时需要进行的主要思维转变之一。

原文由 bukzor 发布,翻译遵循 CC BY-SA 2.5 许可协议

尝试使用这个:

 for k in range(1,c+1,2):

原文由 carlosdc 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏