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

我想将我的字典排序为键的长度(第一个-长度最大的键,最后-最小的键)

例如:

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

结果排序后必须是:

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


浮云间
浏览 195回答 3
3回答

潇湘沐

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)

慕后森

字典不能以传统方式“排序”,因为它们是无序的键值存储。您可能想要使用多维列表。>>> 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]]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python