【发布时间】:2016-08-08 04:34:22
【问题描述】:
我有这段代码,它按元素的频率对 python 列表进行排序。它适用于所有其他情况,除非两个元素的频率相同。如果频率相同,那么我想先将较小的值放在较高的值之前:
counts = collections.Counter(arr)
new_list = sorted(arr, key=lambda x: counts[x])
for item in new_list:
print item
如果是[3,1,2,2,4],输出应该是[1,3,4,2,2],但我得到[3,1,4,2,2]。如何解决此错误?
【问题讨论】: