@ Padraic Cunningham让我知道你是否要我删除 问题
我是python的新手。我想根据某些条件跳过一些迭代器值。这在C中很容易,但在python中我很难过。
所以请帮助我理解为什么这里的代码循环100次而不是10次。
div#header { background-image: url('http://www.google.ca/images/header-background.jpg'); } div#header { background-image: url('images/header-background.jpg'); }
href="http://www.google.ca/wtfguys.css" href="wtfguys.css"
编辑:据我所知,可以选择更改for循环的步长。但我感兴趣的是动态更改迭代器变量,就像我们在C中可以做的那样。好吧,我明白了,因为循环在python中比在C中不同。简单的方法是使用while循环,我在我的代码中做到了它起作用了。谢谢社区!
答案 0 :(得分:4)
for循环遍历可迭代range(100)
。
修改当前值不会影响迭代中接下来出现的内容(实际上,您可以使用任何可迭代的内容;下一个值可能不是数字!)。
选项1 use a while loop:
i = 0
while i < 100:
i += 4
Option 2,使用范围的内置步长参数:
for i in range(0,100,10):
pass
这个例子可能会让你的方法更加清晰:
for i in [1,2,3,4,5,'cat','fish']:
i = i + i
print i
这是完全有效的python代码(字符串添加已定义);修改iterable需要一些不直观的东西。
See here for more information on how iterables work, and how to modify them dynamically
答案 1 :(得分:2)
要执行此操作,请使用while循环。如果迭代次数,则更改for循环中的迭代器不会更改数量而是可以执行
i=0
while i < 100:
print i
i = i +10
答案 2 :(得分:1)
如果要修改迭代器,可以执行以下操作:
iterator= iter(range(100))
for i in iterator:
print (i)
for k in range(9): next(iterator)
但没有实际意义!
答案 3 :(得分:0)
如果您尝试使用此代码,则应该可以使用。
for i in range(100)[::10]:
print i
[:: 10]就像字符串切片一样工作。 [开始时的第一个位置:停止的位置:每个循环中的步数]
我没有使用前两个值,因此将它们设置为默认的第一个位置和最后一个位置。我只是告诉它要做出10步。