li = [1,2,3,4,5,6] for i in li: if i<3: li.remove(i) print(li) #输出的结果是 [2,3,4,5,6] 2没有remove掉 是因为#在第一次循环的时候,1 被remove掉了#然后坑位由6个变为5个#以后的一次往前排,2到了第一个坑位#然后在迭代的时候,就是从第二个坑位开始迭代,就是从3开始#所以2 就这么被忽略了! 解决: 例子一: 我是在做飞机大战,子弹越界要删除的时候遇到的这个问题,子弹都保存在bullet_list 可
案例一:在某随机序例中,找到出现频度最高的3个元素,它们出现的次数是多少? from random import randint # 利用列表解析器生成随机序列,包含有30个元素 data = [randint(0, 20) for _ in range(30)] # 以data中的元素作为字典的键,以0作为值创建一个字典 my_dict = dict.fromkeys(data,0) # 对序列data进行迭代循环 for x in data: my_dict[x] += 1 # 对迭代的每个