python for循环中 对列表进行删除操作 会出现列表元素删除不干净

版权声明:Ch3nnnnnnnnnn的博客 https://blog.csdn.net/weixin_43064185/article/details/85776009

# 指针问题 remove 第一次:a=[1,2,3,4,5]->a=1 第二次:a=[2,3,4,5]->指针发生变法i=3 同理第三次i=5
data = [1, 2, 3, 4, 5]
for i in data:
    data.remove(i)

print(data)

打印结果为:[2, 4, 6]

# 解决方式 用新的列表代替旧的列表 进行删除操作
from copy import deepcopy

data = [1,2,3,4,5]
old_list = data
new_list = deepcopy(old_list)
for i in old_list:
    new_list.remove(i)
    
print(new_list)    

打印结果为:[]

猜你喜欢

转载自blog.csdn.net/weixin_43064185/article/details/85776009
今日推荐