在python中,如何使用unicode内容订购dict?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在python中,如何使用unicode内容订购dict?相关的知识,希望对你有一定的参考价值。

我有以下词典:

<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'

我想按键订购。但是使用Collections和OrderedDict,我无法让它工作。

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相关联?是否有解决方案来纠正这个问题而不必重写字典?它是另一种柔软的输出,所以我不能轻易改变它的类型。

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

答案

OrderDicts保留插入订单 - 他们不会为您排序项目。您需要自己对它们进行排序:

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)

以上是关于在python中,如何使用unicode内容订购dict?的主要内容,如果未能解决你的问题,请参考以下文章

[Python爬虫]使用Selenium操作浏览器订购火车票

如何将 unicode 写入 txt? Python [重复]

Python unicode问题-如何根据引号的内容还原字符

如何在 python apache Beam 的窗口中订购元素?

如何从java中的字符串中删除无效的unicode字符

如何使用 Python 将 UTC Unicode 更改为 Epoch