gpt4 book ai didi

python字典分配不按顺序

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:14 24 4
gpt4 key购买 nike

我想使用带有键的字典,也想使用带有索引的列表。但我发现字典的赋值顺序不对。

我的 python 脚本是:

left=['E','Z','T','Y','F']

for lhs in left:
first[lhs]=set()
follow[lhs]=set()
print first

我得到的输出是:

{'E': set([])}
{'Z': set([]), 'E': set([])}
{'Z': set([]), 'E': set([]), 'T': set([])}
{'Y': set([]), 'Z': set([]), 'E': set([]), 'T': set([])}
{'Y': set([]), 'Z': set([]), 'E': set([]), 'T': set([]), 'F': set([])}

一次是在末尾插入,另一次是在开头。这让我觉得我根本不懂字典。我在哪里可以深入了解字典。以及如何使用键和索引遍历字典。为此,我现在正在使用:

for lhs in left:
print first[lhs]

这对索引编制有一些帮助。但是还有其他方法吗?

最佳答案

使用collections.OrderedDict。它需要 Python 2.7,但它会记住添加 key 的顺序,而不是根据底层哈希算法以任意顺序存储它们。

更新:准确的说,dict的存储没有变化,只是在迭代的时候多了一个数据结构来实现,在key原来的插入顺序的基础上,提供一个固定的顺序。

关于python字典分配不按顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747390/

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