Python字典“.values()”是否按特定顺序返回列表? [Python 2]

时间:2017-06-28 14:53:14

标签: python dictionary

我在Python 2中使用字典,我想知道dictionary.values()是否以特定顺序返回值列表

即。他们被列入字典的顺序?

示例

dict = {}
dict[1] = "potato"
dict[2] = "tomato"
dict[3] = "orange"
dict[4] = "carrot"
list_val = dict.values()

list_val的顺序是potato->tomato->orange->carrot吗? 还是以其他顺序?

这是一个简单的例子,我的意思是它会以相同的顺序返回更复杂的结构吗?

例如,用字典替换字符串 使它成为词典词典

注意:这已在另一个帖子中解答,即linked

参考概念性答案的另一个好答案是: This

1 个答案:

答案 0 :(得分:2)

更新:

在阅读了关于哈希表的一些文档(用于存储key信息的python中的dict)之后,我发现你分配键/值的顺序并不是在has表中定义它的位置。有一个非常好的视频HERE可以很好地解释哈希表的工作原理以及在哈希表的密钥分配过程中发生的事情。

基本上,为密钥分配一个哈希编号,然后根据哈希表的哈希值而不是密钥值将其放在哈希表中。该哈希号首先放置在哈希表上与其哈希值对应的所需位置,除非已经分配给该位置。如果已经在哈希表上为该位置分配了其他内容,则python会进行一些计算以选择下一个最佳位置。这可以在has表中的所需位置之前或之后。 HERE是一些文档,但我强烈建议您观看我喜欢的视频,因为它可以很好地解释这个概念。