为了账号安全,请及时绑定邮箱和手机立即绑定

如何按键对字典进行排序?

如何按键对字典进行排序?

如何按键对字典进行排序?这将是一个很好的方式,从去{2:3, 1:89, 4:5, 3:0}到{1:89, 2:3, 3:0, 4:5}?我检查了一些帖子,但他们都使用返回元组的“已排序”运算符。
查看完整描述

4 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞


Python的collections库文档

>>> from collections import OrderedDict


>>> # regular unsorted dictionary

>>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}


>>> # dictionary sorted by key -- OrderedDict(sorted(d.items()) also works

>>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))

OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])


>>> # dictionary sorted by value

>>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))

OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])


>>> # dictionary sorted by length of the key string

>>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))

OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])



查看完整回答
反对 回复 2019-05-27
?
萧十郎

TA贡献1815条经验 获得超12个赞

对于python3.6 +,可以通过以下方式轻松完成:


>>> d = {2:3, 1:89, 4:5, 3:0}

>>> dict(sorted(d.items()))

{1: 89, 2: 3, 3: 0, 4: 5}


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 0 关注
  • 1445 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信