2016-02-03 15 views
3

我試圖在collections模塊中使用most_common來計算iterable中元素的出現次數。如何在Python集合中執行most_common時忽略大小寫.Counter?

>>> names = ['Ash', 'ash', 'Aish', 'aish', 'Juicy', 'juicy'] 
>>> Counter(names).most_common(3) 
[('Juicy', 1), ('juicy', 1), ('ash', 1)] 

但我想到的是,

[('juicy', 2), ('ash', 2), ('aish', 2)] 

有沒有「Python化」的方式/把戲納入「忽略情況」功能,這樣我們就可以得到所需的輸出。

回答

4

如何將它映射到str.lower

>>> Counter(map(str.lower, names)).most_common(3) 
[('juicy', 2), ('aish', 2), ('ash', 2)]