我试图使用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)]