死循环
# lst = [1, 2]
# for i in lst:
# lst.append(3)
# print(lst)
删除列表元素会遇到的坑
# pop默认删除
lst = [1, 2, 3, 4]
for i in lst:
lst.pop()
print(lst)
# 解释:
# pop默认从后往前删除,元素被删除后,会自动补位
# 走到一的时候删2,走到二的时候删3,所以会留下俩个
# remove 也是同样的原理
# 指定索引删除,从前往后删除
lst = [1, 2, 3, 4]
for i in lst:
lst.pop(0)
print(lst)
# 按照索引位置删除,每删除一个元素,自动补位
lst = [1, 2, 3, 4]
for i in lst:
lst.remove(i)
print(lst)
# 使用pop删除的时候删不干净,可以用如下方法
lst = [1, 2, 3, 4, 5]
for i in range(len(lst)): # 根据列表长度进行循环删除
lst.pop()
print(lst)
# 使用del删除,每次都删除最后一个元素
# 方法一
lst = [1, 2, 3, 4, 5]
for i in range(len(lst)-1,-1,-1):
del lst[i]
print(lst)
# 方法二
lst = [1, 2, 3, 4, 5]
for i in range(len(lst)):
del lst[-1]
print(lst)
# 方法三,使用remove
lst = [1, 2, 3, 4, 5, 6]
lst1 = lst.copy()
for i in lst1:
lst.remove(i)
print(lst)
删除或者修改字典会遇到的坑
# 删除字典元素
dic = dict.fromkeys("12345",1)
dic1 = dic.copy()
for i in dic1:
dic.pop(i)
print(dic)
# 修改字典键值对的值
dic = dict.fromkeys("123456", 1)
for i in dic:
dic[i] = '123' ## 字典在迭代的时候改变了原来的大小(不能加不能删)]
print(dic)
原文地址:https://www.cnblogs.com/yangduoduo/p/11181647.html
时间: 2024-10-12 16:20:44