如何按字母顺序键排序字典

How to order a dictionary by the key alphabetically

from collections import OrderedDict
dictionary = {"Charlie": [[7]], "Alex": [[4]], "Brandon": [[8]]}
OrderedDict(sorted(dictionary.items(), key=lambda x: x[0]))
print(dictionary)

好的,我正在尝试按字母顺序按键对我的字典进行排序,但是字典在第 3 行代码之后没有改变顺序,如上所示。 谁能帮我解决一下?

您必须将其分配回 dictionary,因为它不在原位

dictionary = OrderedDict(sorted(dictionary.items(), key=lambda x: x[0]))

现在您的 o/p 将符合预期

OrderedDict([('Alex', [[4]]), ('Brandon', [[8]]), ('Charlie', [[7]])])

您的 sorted 功能不需要 key :

>>> OrderedDict(sorted(dictionary.items()))
OrderedDict([('Alex', [[4]]), ('Brandon', [[8]]), ('Charlie', [[7]])])

OrderedDict 不是命令字典的函数。这是不可能的,因为字典在 Python 中自然是无序的。相反,OrderedDict 是一种支持有序项目的特殊字典。

如果您想在代码中使用 OrderedDict,您需要将其保存在一个变量中:

ordered_dict = OrderedDict(sorted(dictionary.items(), key=lambda x: x[0]))

但是请注意,dictionary 在此操作后仍将是无序的;上面的行只使用 dictionary 中的项目来构造一个新的 OrderedDict 对象。