2024-04-25 02:33:05 发布
网友
以下代码不起作用
s = [x for x in s if s.count(x) > k]
其中s是我的列表,k是一些自然数,但如果我用4代替k,它就起作用了。可以在那里算出变量k吗
s
k
4
您的代码应该可以工作,但效率很低,每次进行.count运算会产生二次复杂度,创建计数器dict并进行查找会产生线性解决方案:
from collections import Counter cn = Counter(s) print([x for x in s if cn[x] > k])
您的代码应该可以工作,但效率很低,每次进行.count运算会产生二次复杂度,创建计数器dict并进行查找会产生线性解决方案:
相关问题 更多 >
编程相关推荐