|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
以下代码为2中列表去重,备用列表都一样,为啥只是先后遍历的顺序不同结果也不同,导致这种差异的原理是什么?
方法一:结果为[0, 1, 9, 10]
- a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- b = [2, 3, 4, 4, 5, 6, 6, 7, 8]
- for x in b:
- if x in a:
- a.remove(x)
- print(a)
复制代码
方法二:结果为[0, 1, 3, 5, 7, 9, 10]
- a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- b = [2, 3, 4, 4, 5, 6, 6, 7, 8]
- for x in a:
- if x in b:
- a.remove(x)
- print(a)
复制代码
方法2:
循环1,指向0位,即数值0,不在b,继续到下一个;
循环2,指向1位,即数值1,不在b,继续到下一个;
循环3,指向2位,即数值2,在b,删除掉2,注意此时数值3在位置2;继续到下一个;
循环4,指向3位,即数值4,把数值3就跳过去了。
|
|