发布网友 发布时间:2022-05-24 23:12
共2个回答
热心网友 时间:2023-11-01 22:06
我用代码来解释吧:
对副本遍历
对编组遍历:
你可以看到输出的结果是不同的,因为你要明白,书里面的代码就是在编组里面删除条目,但是如果直接对编组进行遍历的话,由于i是递增的,而你编组里面的元素是不断减少的,就不是一一对应的了,而对副本遍历的话,就不会有这样的错误,有问题可以继续问。
追问所以对副本的修改会影响到编组本身嘛
热心网友 时间:2023-11-01 22:06
for循环中删除列表元素,如A=[1,2,3,4,5],删除指针对应的1后,2、3、4、5前移,而指针往后移一位,在[2,3,4,5]中,就只能删除3了,漏了2,这就是为什么不推荐这种方法的原因