我有这个 Python 代码,它一一面对整数列表中的项目(在发布的代码中命名为“seen”)与另一个列表的 .f 字段中的所有项目(在发布的代码中命名为“maxx” )。
在每次迭代中,我都在计算(通过变量)第 j 个项目出现在“maxx”列表中的次数,如果它出现的次数少于 3 次c
,我想从列表中取出它。pop()
代码完美运行,但是弹出一个项目会将“已看到”列表中的任何后续项目“拉”回一个位置,因此每次满足 if 条件时,循环都会错过列表的下一个项目。
这是代码:
for indj,j in enumerate(seen): # every item in the 'seen' list..
c=0
for k in maxx: # ..checks for a matching item in the 'maxx' list
if j==k.f:
c=c+1;
if c<3: # if the item appears less than 3 times we pop it
seen.pop(indj)
我试图添加:
indj=indj-1
j=seen[indj]
在if
构造结束时,但它没有工作