Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列表筛选器[]的if中插入变量_Python - Fatal编程技术网

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
中到底有什么?它似乎工作得很好。@padraickunningham
k
是包含一些自然数的变量。假设它在前面的代码上写了
k=4
,那么它应该可以工作了。