gpt4 book ai didi

python - 如何使用 Python 正确地从循环中的数组中删除元素

转载 作者:行者123 更新时间:2023-11-28 22:26:27 24 4
gpt4 key购买 nike

我试图从数组中只删除一个元素并在循环中打印剩余的元素:

arr = [1,2,3,4,5]
for i in arr:
a = arr
a.remove(i)
print a

所以我期待它打印这个:

[2, 3, 4, 5]
[1, 3, 4, 5]
[1, 2, 3, 5]
[1, 2, 3, 4]

为什么我得到以下结果:

[2, 3, 4, 5]
[2, 4, 5]
[2, 4]

最佳答案

这是深拷贝与浅拷贝的经典问题。Python 通过引用复制数组。因此,对新变量(在您的情况下为 a)的任何更改都将反射(reflect)在主数组(arr)中。从 a 中删除元素也会从 arr 中删除元素。您需要使用以下内容来创建副本。

 a = arr[:] 

这不会从 arr 中删除任何元素。

关于python - 如何使用 Python 正确地从循环中的数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44817185/

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