几天前我开始学习Python,在编写代码时遇到了一个程序。
这是我想用C++代码做的事情number = SOME_NUMBER;
while(1) {
for(int i=number; i<sizeOfArray; i++) {
// do something
}
number = 0;
}
基本上,对于for循环的第一次迭代,我想从number开始。 然后,每隔一次遍历for循环,我就想从0开始。
我现在能想到的一个老套的想法是做一些类似的事情:
number = SOME_NUMBER
for i in range(0, len(array)):
if i != number:
continue
// do something
while True:
for i in range(0, len(array)):
// do something
这是最好的方法还是有更好的方法?
在Python中,跳过传统意义上的集合并不理想。在对象上循环迭代的能力由对象控制,因此您不必像在C++中的{{CD1}}循环中那样手动地通过计数器。
据我所知,您在这里要做的是对
list
中的每个项执行相同的代码(Python中没有数组),执行多次。要做到这一点:
这有什么问题?
它正是你想要的。
然而,我认为有更好的方法做事情,尤其是如果解决方案似乎“老套”。
如果你知道你想做什么,也许有更好的方法
我不明白你为什么不能做和你在C里一样的事:
顺便说一句,根据所使用的Python版本的不同,
xrange
可能比range
更可取。在Python 2.x中,range
将生成所有数字的实际列表。xrange
将生成一个迭代器,并且在范围较大时消耗更少的内存。相关问题 更多 >
编程相关推荐