在Python中循环

在C / C ++中,我可以有以下循环for(int k = 1; k <= c ; k +=2)

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

我可以for k in range(1,c):在Python中,这与C / C ++中的for(int k = 1; k <= c ; k++)

你也应该知道,在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()使用上面的代码更快,并移除了无关的ivariables。

如果您需要编辑列表中的项目,那么您确实需要索引,但仍然有更好的方法:

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

再次,这是更快,被认为更可读。 这是从C ++到Python所需要做的一个主要的转变。

尝试使用这个:

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

答案是好的,但对于需要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] 

如果你想在Python中编写一个循环,打印一些整数没有等,然后只是复制这个代码,它会工作很多

  #Display Value from 1 TO 3 for i in range(1,4): print "",i,"value of loop" # Loop for dictionary data type mydata = {"Fahim":"Pakistan", "Vedon":"China", "Bill":"USA" } for user, country in mydata.iteritems(): print user, "belongs to " ,country 

在Python中,你通常需要循环而不是通用的循环,比如C / C ++,但是你可以用下面的代码实现同样的function。

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

Python中的引用循环。