簡體   English   中英

查找列表中重復哪些項目的簡便方法

[英]Easy way to find what item repeated in list

所以我有這樣的清單

 l = [1,2,3,4,4]

如果我瘋狂地做一套,我會得到

([1,2,3,4])

我需要一種方法來查找列表中重復的項目並彈出,並且我不想使用循環。 是否有簡便的方法? 我正在使用python 2.7

您必須顯式或隱式地迭代列表。 使用標准庫的一種方法是使用collections.Counter

In [1]: from collections import Counter

In [2]: l = [1,2,3,4,4]

In [3]: Counter(l).most_common(1)[0][0]
Out[3]: 4

Counter對象是一個字典,其中一些可迭代的元素作為鍵,而它們各自的計數作為值:

In [4]: Counter(l)
Out[4]: Counter({4: 2, 1: 1, 2: 1, 3: 1})

它的most_common()方法返回計數最高的項目列表:

In [5]: Counter(l).most_common()
Out[5]: [(4, 2), (1, 1), (2, 1), (3, 1)]

可選參數限制返回列表的長度:

In [6]: Counter(l).most_common(1)
Out[6]: [(4, 2)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM