Python中的for循环

2024-04-26 23:33:05 发布

您现在位置:Python中文网/ 问答频道 /正文

C++中,我可以有以下循环< /p>
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++ >


Tags: inforrange事情int
3条回答

答案是好的,但是对于那些希望通过range()实现此目的的人来说,表单是:

range(end)

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range(start,end)

 >>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

range(start,end, step)

 >>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]

尝试使用此:

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

您还应该知道,在Python中,对整数索引进行迭代是一种糟糕的方式,而且比其他方法慢。如果您只想查看列表或dict中的每个项,请直接在列表或dict中循环

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时需要思考的主要转变之一。

相关问题 更多 >