【发布时间】:2018-04-08 01:07:22
【问题描述】:
文档指定collections.Counter.most_common(),
具有相同计数的元素是任意排序的。
我对一种简洁的方式感兴趣,首先按频率/值降序(默认)排序,然后按键升序排序。 (键是.most_common() 中每个元组的第 0 个元素。)
例子:
from collections import Counter
arr1 = [1, 1, 1, 2, 2, 3, 3, 3, 5]
arr2 = [3, 3, 3, 1, 1, 1, 2, 2, 5] # Same values, different order
print(Counter(arr1).most_common())
print(Counter(arr2).most_common())
# [(1, 3), (3, 3), (2, 2), (5, 1)]
# [(3, 3), (1, 3), (2, 2), (5, 1)]
想要的结果(arr2 和 arr2):
[(1, 3), (3, 3), (2, 2), (5, 1)]
【问题讨论】:
标签: python python-3.x collections