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

5 python sorting dictionary python-3.x

我想按键的长度对我的字典进行排序(第一个键具有最大长度,最后一个键具有最小长度)

例如:

dictionary = {"aa" : 1, "aaaaaaa": 2, "aaa" : 3, "a": 4}
Run Code Online (Sandbox Code Playgroud)

排序后的结果一定是:

{"aaaaaaa": 2, "aaa" : 3, "aa" : 1, "a": 4}
Run Code Online (Sandbox Code Playgroud)

Aus*_*tin 8

字典被认为是无序的,但较新版本的 Python (3.6+) 会记住插入顺序,因此您可以执行以下操作:

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

new_d = {}
for k in sorted(d, key=len, reverse=True):
    new_d[k] = d[k]

print(new_d)
# {'aaaaaaa': 2, 'aaa': 3, 'aa': 1, 'a': 4}
Run Code Online (Sandbox Code Playgroud)