Python 字典排序:根据列表长度排序 Value
使用 sorted 函数和 lambda 表达式可以方便地根据字典 value 中列表的长度对内容进行排序。
首先,假设有一个字典 dict,其中 value 是一个列表。可以使用 sorted 函数对字典的 items 进行排序,通过指定 key 参数为 lambda 表达式来指定排序的依据。
dict = {'a': [1, 2, 3], 'b': [4, 5], 'c': [6, 7, 8, 9]}
sorted_dict = sorted(dict.items(), key=lambda x: len(x[1]))
print(sorted_dict)
输出结果为:
[('b', [4, 5]), ('a', [1, 2, 3]), ('c', [6, 7, 8, 9])]
在 lambda 表达式中,x 表示字典的每个键值对,x[1] 表示字典的值,len(x[1]) 表示值的长度。通过指定 key 参数为 lambda 表达式,sorted 函数会根据值的长度进行排序。
需要注意的是,sorted 函数返回的是一个排序后的列表,而不是一个字典。如果需要将排序后的列表转换为字典,可以使用 dict() 函数。
sorted_dict = dict(sorted(dict.items(), key=lambda x: len(x[1])))
print(sorted_dict)
输出结果为:
{'b': [4, 5], 'a': [1, 2, 3], 'c': [6, 7, 8, 9]}
原文地址: https://www.cveoy.top/t/topic/qEBk 著作权归作者所有。请勿转载和采集!