Python 列表项中的出现和提取
我有以下数据列表:Python 列表项中的出现和提取,python,Python,我有以下数据列表: a=[2,8,2,5,6,7,8,2,2] 我得到了每个元素的出现次数: list=[(x,a.count(x)) for x in set(a)] [(8,2),(2,5),(5,1),(6,1),(7,1)] 我想提取出现次数大于2的元素并获得数组: [8,2] 如何操作?然后简单地将其更改为: list = [x for x in set(a) if a.count(x) >= 2] 现在,您的列表将只包含其计数>=2的项。我不会使用变量名列表,因为它在p
a=[2,8,2,5,6,7,8,2,2]
我得到了每个元素的出现次数:
list=[(x,a.count(x)) for x in set(a)]
[(8,2),(2,5),(5,1),(6,1),(7,1)]
我想提取出现次数大于2的元素并获得数组:
[8,2]
如何操作?然后简单地将其更改为:
list = [x for x in set(a) if a.count(x) >= 2]
现在,您的列表将只包含其计数>=2的项。我不会使用变量名列表,因为它在python中是保留的,但您可以像访问普通列表片段一样访问元组的第二个元素
new_list = [x for x in list if x[1] > 1]
使用
collections.Counter(a).most_common()
,这会更容易,然后按递减计数顺序获取它们。但您可以执行[a代表a,b代表列表中的b,如果b>=2]
(注意:不要命名自己的变量列表
)。