Python-迭代时修改列表
l = range(100) for i in l:
print i,
print l.pop(0),
print l.pop(0)
上面的python代码使输出与预期的完全不同。我想循环播放项目,以便在循环播放时可以跳过某个项目。
回答:
该代码试图在迭代列表时修改列表。我在任何情况下都不会这样做。
你可以使用slice
运算符mylist[::3]
跳过列表中的每三个项目。
mylist = [i for i in range(100)]for i in mylist[::3]:
print(i)
关于我的示例的其他要点与python 3.0
中的新语法有关。
- 我使用列表推导定义
mylis
t,因为它在Python 3.0
中有效(请参见下文) prin
t是python 3.0
中的函数
现在,Python 3.0 range()
的行为类似于xrange()
,但它适用于任意大小的值。后者不再存在。
以上是 Python-迭代时修改列表 的全部内容, 来源链接: utcz.com/qa/407065.html