計數列表我有以下列表:的Python在列表
data = [('A', 'B'), ('C','D'), ('E','F'), ('G','H'), ('B','A'), ('D','C')]
所述第一和第二元素的順序並不重要,從而,例如,(「A」,「B」)和(」 B','A')被視爲相同。理想的結果是:
('A','B') 2
('C','D') 2
('E','F') 1
('G','H') 1
我想這(改編自How to count number of duplicates in a list of tuples?):
data = [('A', 'B'), ('C','D'), ('E','F'), ('G','H'), ('B','A'), ('D','C')]
from collections import Counter
for i, j in Counter(data).most_common():
print i, j
結果看起來是這樣的:
('G', 'H') 1
('B', 'A') 1
('E', 'F') 1
('A', 'B') 1
('D', 'C') 1
('C', 'D') 1
有什麼建議?
每個元組總是隻有兩個項目嗎? – Ronikos
是的。兩個元素在每個元組中。 – kevin
參見例如HTTP://計算器。com/q/41259493/3001761,你可以使用它來和Counter一起工作。或者只是'map(frozenset,data)'。 – jonrsharpe