1.遍历同一个列表时,不要边遍历边增删元素(增删元素会导致元素的索引改变)
2.解决方法:先遍历,将目标元素记录下来(不要直接增删元素)
list1 = [10, 20, 30, 40, 50]
# 遍历同一个列表时,不要边遍历边增删元素(增删元素会导致元素的索引改变)
# for num in list1:
# print(num) # 没有遍历到40
# if num == 30 or num == 40:
# list1.remove(num)
# 解决方法:先遍历,将目标元素记录下来(不要直接增删元素)
temp_list = [] # 定义临时列表,暂时保存目标元素
for num in list1:
print(num)
if num == 30 or num == 40:
temp_list.append(num)
# 遍历完,再依次增删目标元素
for target_num in temp_list:
list1.remove(target_num)
print(list1)