【发布时间】:2017-07-12 16:30:06
【问题描述】:
只是想知道如何在 python 2.7 中按频率/出现对列表进行排序,如果 2 个元素出现的次数相同,那么在原始列表中首先出现的元素在新列表中的另一个元素之前。
例如:
list = [5,6,8,9,8,8,3,4,4,6,6]
sorted_list = [6,6,6,8,8,8,4,4,5,9,3]
知道为什么该解决方案不适用于 [1,3,3,3,2,2,2,1,1]。输出为 [3,3,3,2,2,2,1 ,1,1] 但正确的输出是 [1,1,1,3,3,3,2,2,2] 再次感谢
【问题讨论】:
-
我刚刚发布了一个答案,但我想知道为什么在您的预期输出中
8在6之前,即使6在原始列表中首先出现? -
对不起,我把想要的输出搞砸了,我现在改了,谢谢
-
MSeifert (& my) 的代码给出了
[1,3,3,3,2,2,2,1,1]的正确答案,我认为 Mureinik 的更新版本也是如此,但我还没有测试过。
标签: python python-2.7 list sorting frequency