在python中,如何使用unicode内容对dict进行排序?

2024-06-01 08:10:19 发布

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

我有以下格言:

<type 'dict'>
{u'010-010': u'010-010_comp_v000', u'012-010': u'012-010_comp_v002', u'007-010': u'007-010_comp_v000', u'006-010': u'006-010_comp_v009', u'005-010': u'005-010_comp_v002'}

我想按钥匙订购。但是使用收集和订购信息技术,我无法让它工作

OrderedDict([(u'010-010', u'010-010_comp_v000'), (u'012-010', u'012-010_comp_v002'), (u'007-010', u'007-010_comp_v000'), (u'006-010', u'006-010_comp_v009'), (u'005-010', u'005-010_comp_v002')])

我假设它链接到unicode?有没有一个解决方案来纠正这个问题而不必重写dict?这是另一个软件的输出,所以我不能轻易地改变类型

所需的输出是:'005-010'... '006-010'... '007-010'...


Tags: 类型软件链接typeunicode解决方案dictordereddict
1条回答
网友
1楼 · 发布于 2024-06-01 08:10:19

OrderDict保留插入顺序-它们不会为您排序项目。您需要自己进行分类:

d = {u'010-010': u'010-010_comp_v000', u'012-010': u'012-010_comp_v002', u'007-010': u'007-010_comp_v000', u'006-010': u'006-010_comp_v009', u'005-010': u'005-010_comp_v002'}
o = OrderedDict((k, v) for k, v in sorted(d.items()))
print(o)

相关问题 更多 >