2024-04-25 15:17:35 发布
网友
我有一本python字典
d = { "Random" : [1,2,3], "Stupid" : [1], "Gross" : [1,1,1,1,1], "Ugly" : [2,1,1,1] }
上面的列表应该根据列表值的count排序。在
count
我试过了:sorted(d, key=d.get, reverse=True)
sorted(d, key=d.get, reverse=True)
但我似乎没有得到正确的结果。在
既然你是从字典开始的,你大概需要用一个字典而不是一个列表来结束:
>>> import collections >>> d = { ... "Random" : [1,2,3], "Stupid" : [1], "Gross" : [1,1,1,1,1], "Ugly" : [2,1,1,1] ... } >>> sd = collections.OrderedDict(sorted(d.items(), key=lambda t: -len(t[1]))) >>> sd OrderedDict([('Gross', [1, 1, 1, 1, 1]), ('Ugly', [2, 1, 1, 1]), ('Random', [1, 2, 3]), ('Stupid', [1])]) >>>
你是说length?在
length
>>> sorted(d, key=lambda k: -len(d[k])) ['Gross', 'Ugly', 'Random', 'Stupid'] >>> sorted(d, key=lambda k: len(d[k]), reverse=True) ['Gross', 'Ugly', 'Random', 'Stupid']
既然你是从字典开始的,你大概需要用一个字典而不是一个列表来结束:
你是说
length
?在相关问题 更多 >
编程相关推荐