基于lis中项数的Python词典排序

2024-04-26 14:44:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python小脚本和一个字典,如下所示:

d = {'category_1' : ['a', 'b'], 
'category_2' : ['c', 'd', 'e'],
'category_3' : ['z']}

如何根据列表中的值数对其排序?我希望它看起来像:

d = {'category_3' : ['z'], 
'category_1' : ['a', 'b'], 
'category_2' : ['c', 'd', 'e']}

Tags: 脚本列表字典排序category值数
1条回答
网友
1楼 · 发布于 2024-04-26 14:44:08

Python中的字典是无序的。你知道吗

为了实际存储排序,您需要有一个元组列表,或者使用^{}。你知道吗

>>> from collections import OrderedDict
>>> OrderedDict(sorted(d.items(), key=lambda item: len(item[1])))
OrderedDict([('category_3', ['z']), ('category_1', ['a', 'b']), ('category_2', ['c', 'd', 'e'])])

这里的排序是通过使用the ^{} built-in和一个简单的key函数来实现的。你知道吗

相关问题 更多 >