因此,我应该编写一个程序,该程序接受一个整数列表和值n,并且如果该列表中的任何整数重复了n次以上,则将其删除。我的程序目前适用于大多数测试,但我不知道为什么它不适用于某些测试。这是短代码:
def solution(data, n):
if n <= 0:
return []
reserve=[]
for s in data:
if s not in reserve:
if data.count(s) > n:
continue
else:
reserve.append(s)
del data[:]
return reserve
有人知道为什么它不起作用吗?是否有差异?
答案 0 :(得分:0)
#use print statements to debug your program
data=[1,1,1,1,1,2,2,2,2,3,3,3,4,4]
def solution(data, n):
if n <= 0:
return []
reserve=[]
for s in data:
print(reserve.count(s))
if reserve.count(s) >= n:
continue
else:
reserve.append(s)
return reserve
res=solution(data,3)
print(res)
输出:
0
1
2
3
3
0
1
2
3
0
1
2
0
1
[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4]