我试图使用most_common模块中的collections来计算iterable中元素的出现次数。

>>> 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”方法/技巧来合并“忽略大小写”功能,以便我们可以获得所需的输出。

最佳答案

把它映射到str.lower怎么样?

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

07-27 19:25