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

按键长度对字典进行排序。Python 3.6

按键长度对字典进行排序。Python 3.6

浮云间 2021-09-28 13:52:49
我想将我的字典排序为键的长度(第一个-长度最大的键,最后-最小的键)例如:dictionary = {"aa" : 1, "aaaaaaa": 2, "aaa" : 3, "a": 4}结果排序后必须是:{"aaaaaaa": 2, "aaa" : 3, "aa" : 1, "a": 4}
查看完整描述

3 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

dic = {"aa" : 1, "aaaaaaa": 2, "aaa" : 3, "a": 4}

new_dic={}

k = list(dic.items())

k.sort(key=lambda x:len(x[0]),reverse=True)


for i in k :

    new_dic.update({i[0]:i[1]})


print(new_dic)


查看完整回答
反对 回复 2021-09-28
?
慕后森

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

字典不能以传统方式“排序”,因为它们是无序的键值存储。您可能想要使用多维列表。


>>> d = [["aa", 1], ["aaaaaaa", 2], ["aaa", 3], ["a", 4]]

>>> d

[['aa', 1], ['aaaaaaa', 2], ['aaa', 3], ['a', 4]]

>>> sorted(d, key=lambda l: len(l[0]), reverse=True)

[['aaaaaaa', 2], ['aaa', 3], ['aa', 1], ['a', 4]]


查看完整回答
反对 回复 2021-09-28
  • 3 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

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