gpt4 book ai didi

python - 迭代时修改列表

转载 作者:IT老高 更新时间:2023-10-28 20:30:26 27 4
gpt4 key购买 nike

l  = range(100)                         
for i in l:
print i,
print l.pop(0),
print l.pop(0)

上面的 python 代码给出的输出与预期的完全不同。我想循环遍历项目,以便在循环时跳过一个项目。

请解释一下。

最佳答案

永远不要更改您正在循环的容器,因为该容器上的迭代器不会被告知您的更改,而且正如您所注意到的,这很可能会产生非常不同的循环和/或不正确的循环.在正常情况下,在容器的副本上循环会有所帮助,但在您的情况下,很明显您想要这样,因为在循环 50 条腿后容器将是空的,如果你那时再次尝试弹出你会得到一个异常。

有什么但不清楚的是,你想要实现什么行为,如果有的话?!也许你可以用 while... 来表达你的愿望?

i = 0
while i < len(some_list):
print i,
print some_list.pop(0),
print some_list.pop(0)

关于python - 迭代时修改列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1637807/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com