gpt4 book ai didi

python - 字典中的遍历顺序

转载 作者:行者123 更新时间:2023-11-30 23:20:55 24 4
gpt4 key购买 nike

当我访问使用相同键映射的 2 个字典中的元素时,它们是否始终以相同的顺序访问?

例如,假设我有字典 1 和字典 2。

Dictionary 1:
Key 1: a1
Key 2: a2

Dictionary 2:
Key 1: b1
Key 2: b2

如果我使用 for 循环访问这两个字典的元素,使用如下所示:对于dictionary.values()中的元素:

我可以匹配 a1:b1a2:b2 吗?

最佳答案

不,没有这样的保证。

这是一个具体的例子来演示这一点:

>>> dict1 = {str(i):None for i in range(10000)}
>>> dict2 = {}
>>> dict2.update(dict1)

字典是相同的,但键以不同的顺序返回:

>>> dict1 == dict2
True
>>> dict1.keys() == dict2.keys()
False

如果您想要相同的遍历顺序,您可以并行迭代 sorted(dict1.keys())sorted(dict2.keys()):

>>> sorted(dict1.keys()) == sorted(dict2.keys())
True

根据您的使用案例(即插入顺序),collections.OrderedDict可能也有用。

关于python - 字典中的遍历顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25191037/

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