问题
在循环中删除数组元素时,会出现如下问题
[img]https://vkceyugu.cdn.bspapp.com/VKCEYUGU-df9040b6-66ef-461b-92a5-f74c4e71766f/7ef3b013-a1d1-416d-8ed9-c98f9bf0284d.png[/img]
当运行时会发现出现数组下标溢出问题。这是由于列表的可变性,每一次删除一个元素,列表的长度就会发生变化,元素的索引也会发生变化。
解决办法
利用deepcopy来复制一个数组出来,对该数组比对,原数组删除
[img]https://vkceyugu.cdn.bspapp.com/VKCEYUGU-df9040b6-66ef-461b-92a5-f74c4e71766f/2729a819-1879-4b5b-851a-edea589d3f9c.png[/img]
至于为什么不用b = a来复制,因为涉及到引用和深浅复制的问题,因此不细说