Python for循环删除列表元素时,如何确保删除彻底?
- 内容介绍
- 文章标签
- 相关推荐
本文共计220个文字,预计阅读时间需要1分钟。
python指针问题 + remove 第一次:a=[1, 2, 3, 4, 5] -> a=1第二次:a=[2, 3, 4, 5] -> 指针发生变法 i=3同理第三次:i=5data=[1, 2, 3, 4, 5]for i in data: data.remove(i)print(data)打印结果为:[2, 4, 6]解决方案:data=[1, 2, 3, 4, 5]for i in range(len(data)): data.remove(data[i])print(data)
指针问题 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 deepcopydata = [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)
打印结果为:[]
本文共计220个文字,预计阅读时间需要1分钟。
python指针问题 + remove 第一次:a=[1, 2, 3, 4, 5] -> a=1第二次:a=[2, 3, 4, 5] -> 指针发生变法 i=3同理第三次:i=5data=[1, 2, 3, 4, 5]for i in data: data.remove(i)print(data)打印结果为:[2, 4, 6]解决方案:data=[1, 2, 3, 4, 5]for i in range(len(data)): data.remove(data[i])print(data)
指针问题 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 deepcopydata = [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)
打印结果为:[]

