如何在Python的集合中执行most_common时忽略大小写。计数器?

时间:2016-02-03 17:58:27

标签: python string python-3.x list python-collections

我正在尝试使用most_common模块中的collections来计算迭代中元素的出现次数。

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

但我的期望是,

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

是否存在“pythonic”方式/技巧以合并'ignore-case'功能,以便我们可以获得所需的输出。

1 个答案:

答案 0 :(得分:6)

如何将其映射到str.lower

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