Python 在列表筛选器[]的if中插入变量
以下代码不起作用Python 在列表筛选器[]的if中插入变量,python,Python,以下代码不起作用 s = [x for x in s if s.count(x) > k] 其中,s是我的列表,k是一些自然数,但如果我用4代替k,它会起作用。有可能在那里算出变量k吗?您的代码应该可以工作,但效率很低,每次进行一次.count会给您带来二次复杂性,创建计数器dict并进行查找会给您带来线性解: from collections import Counter cn = Counter(s) print([x for x in s if cn[x] > k]) k
s = [x for x in s if s.count(x) > k]
其中,
s
是我的列表,k
是一些自然数,但如果我用4
代替k
,它会起作用。有可能在那里算出变量k
吗?您的代码应该可以工作,但效率很低,每次进行一次.count会给您带来二次复杂性,创建计数器dict并进行查找会给您带来线性解:
from collections import Counter
cn = Counter(s)
print([x for x in s if cn[x] > k])
k应该是什么?它应该和变量一起工作。给我们看更多的代码-
k
中到底有什么?它似乎工作得很好。@padraickunninghamk
是包含一些自然数的变量。假设它在前面的代码上写了k=4
,那么它应该可以工作了。