TEL:400-8793-956
当前位置:程序、服务器

为什么print返回与字典中首次建立键/值对相同的顺序?

提问者: 近期获赞: 浏览人数: 发布时间:2021-02-15 18:01:44

 问:如果字典没有顺序,则假定使用for循环时,键或其值返回或打印的顺序将是随机的。但是,在视频中,肯尼斯(Kenneth)的顺序似乎与在字典中输入键/值对的顺序相同。他还提到了在字典更改之前顺序保持不变的一些内容,但是我仍然不太明白他的意思。

 
 
答:一旦Python按照其术语组织了密钥,除非您修改了密钥(例如添加另一个密钥),否则不会重新定义顺序。因此,当肯尼斯(Kenneth)在for循环上调用它时,该字典是由Python的哈希算法在内部组织的。您可以使用简单的代码示例进行尝试。
 
a  =  { 'a' : 1 , 'b' : 2 , 'c' : 3 } 
b  =  { 'b' : 2 , 'c' : 3 , 'a' : 1 } 
c  =  { 'c' : 3 , 'a' : 1 , 'b' : 2 } 
print (a ,b ,c )#({'a':1,'c':3,'b':2},{'a':1, 'c':3,'b':2},{'a':1,'c':3,'b':2})
   
print (a , b , c ) 
#({'a':1,'c':3,'b':2},{'a':1,'c':3,'b':2}, {'a':1,'c':3,'b':2})
因此,您可以看到Python具有组织密钥的一致方式,但是您无法预测它。
 
我不明白当您说字典键经过for循环时是按顺序排列的。Python会按原样组织并保持它们不变,不会乱码。但是一旦修改了密钥,您将不会知道密钥的组织方式。
上一篇: 大量的index和style.css副本以及来自太浩湖示例的多张图片
下一篇: CSS中的字体不起作用