如何按字典长度对字典列表进行排序

时间:2016-01-10 18:01:47

标签: python list sorting dictionary

我有一个词典列表,其中每个词典可以有不同的长度(不同数量的键)。如何对列表进行排序,使最长的字典位于div.popup

4 个答案:

答案 0 :(得分:4)

使用key=len

对列表进行排序
>>> d0
{'a': 100, 'c': 150, 'b': 5, 'd': 60}
>>> d1
{1: 'ONE', 2: 'TWO'}
>>> d2
{3: 'THREE', 4: 'FOUR'}
>>> d3
{1:'ONE',2:'TWO',3:'THREE'}
l = [d0,d1,d2,d3]
>>> sorted(l, key=len, reverse=True)
[{'a': 100, 'c': 150, 'b': 5, 'd': 60}, {1: 'ONE', 2: 'TWO', 3: 'THREE'}, {1: 'ONE', 2: 'TWO'}, {3: 'THREE', 4: 'FOUR'}]
>>>
>>> l.sort(key=len, reverse=True) #in list sorting

答案 1 :(得分:2)

您可以在列表中使用排序方法:

list_with_dicts.sort(key=lambda x: -len(x))

答案 2 :(得分:1)

您可以传递sorted key参数,其长度为您的字符:

sorted_list = sorted(l, key = lambda x: len(x.keys())

或者只是

sorted_list = sorted(l, key = len)

其中l是包含您的词汇的列表

答案 3 :(得分:1)

您可以使用localhost:8080/Anwendung/machine?name 方法:

sorted

或不创建新列表:

newList = sorted(list, key=lambda k:len(k), reverse = True)