如何在 Python 的 collections.Counter 中执行 most_common 时忽略大小写?
How to ignore case while doing most_common in Python's collections.Counter?
我正在尝试使用 collections
模块中的 most_common
计算一个元素在可迭代对象中出现的次数。
>>> 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" way/trick 来合并 'ignore-case' 功能,以便我们可以获得所需的输出。
如何将其映射到 str.lower
?
>>> Counter(map(str.lower, names)).most_common(3)
[('juicy', 2), ('aish', 2), ('ash', 2)]
我正在尝试使用 collections
模块中的 most_common
计算一个元素在可迭代对象中出现的次数。
>>> 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" way/trick 来合并 'ignore-case' 功能,以便我们可以获得所需的输出。
如何将其映射到 str.lower
?
>>> Counter(map(str.lower, names)).most_common(3)
[('juicy', 2), ('aish', 2), ('ash', 2)]