如何按字母顺序键排序字典
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
对象。
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
对象。