gpt4 book ai didi

Python:循环列表时删除列表中的元素

转载 作者:行者123 更新时间:2023-12-01 02:30:38 24 4
gpt4 key购买 nike

这是一个简单的问题。我的任务是循环一个列表并打印它的每个元素。每次打印后,我也打算从列表中删除这个元素。我的代码是:

>> a = [1,2]
>> for x in a:
>> print x
>> a.remove(x)
>> print a

输出为:

>> 1
>> [2]

但是,这里发生了一些奇怪的事情:只打印了1,看来从列表中删除1后,程序直接跳出循环。我的假设是更改列表内容后,迭代器也可能受到影响,但我不太确定。更安全的方法是:

>> a = [1,2]
>> b = list(a)
>> for x in b:
>> print x
>> a.remove(x)
>> print a

有人可以给我提供更高级的解释吗?

最佳答案

a = [1,2]
while a:
print a.pop(0)
print a

关于Python:循环列表时删除列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857500/

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