当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-07-19
指针问题 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] 解决方式 用新的


指针问题 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)

打印结果为:[] 

 

上一篇:python print输出字符串报错
下一篇:没有了
网友评论