gpt4 book ai didi

python - 是否可以使用预定义的排序机制在 Python 中初始化一个空的 OrderedDict?

转载 作者:太空狗 更新时间:2023-10-30 01:14:51 37 4
gpt4 key购买 nike

我能找到的所有示例(in the documentation 等)都通过将数据传递给构造函数来定义 OrderedDicts。来自文档:

# regular unsorted dictionary
d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}

# dictionary sorted by key
OrderedDict(sorted(d.items(), key=lambda t: t[0]))
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])

另一方面,可以通过不向构造函数提供任何参数来初始化 OrderedDict,这会导致它保留添加键值对的顺序。

我正在寻找一种类似于以下内容的构造,但没有“d.items()”。本质上,我是在不提供示例的情况下要求它记住一种机制,这听起来可能很疯狂。我唯一的选择是通过为单个项目提供首字母“d”(如下)来“破解”它,还是有更好的方法?

OrderedDict(sorted(d.items(), key=lambda t: t[0]))

谢谢!

最佳答案

OrderedDict 只有一种排序算法:插入顺序。无论项目添加到 OrderedDict 的顺序是 OrderedDict 的顺序。

如果你想要一些其他的方法,你可以编写你的 dict 子类,或者只是一个排序函数,你可以在顺序非常重要时应用它。

关于python - 是否可以使用预定义的排序机制在 Python 中初始化一个空的 OrderedDict?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26919373/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com