Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的python词典总是有序的?_Python_Dictionary - Fatal编程技术网

为什么我的python词典总是有序的?

为什么我的python词典总是有序的?,python,dictionary,Python,Dictionary,我知道Python的字典是无序的。但我不明白为什么我的dict在输出时总是按顺序排列。就像下面的代码一样,无论我如何更改键或值,它总是按顺序打印。谢谢大家! num1 = 30 num2 = 192 c1 = 'good' c2 = 'hello' a = {'a':8, 'k':c2, 'c':3, 'b':5} a['g'] = 56 a['jj'] = num2 a['89'] = 'asdfg' a['u'] =42 a['d'] = c1 a['11'] = 40 a['0'] = n

我知道Python的字典是无序的。但我不明白为什么我的dict在输出时总是按顺序排列。就像下面的代码一样,无论我如何更改键或值,它总是按顺序打印。谢谢大家!

num1 = 30
num2 = 192
c1 = 'good'
c2 = 'hello'
a = {'a':8, 'k':c2, 'c':3, 'b':5}
a['g'] = 56
a['jj'] = num2
a['89'] = 'asdfg'
a['u'] =42
a['d'] = c1
a['11'] = 40
a['0'] = num1
print(a)
for key in a:
    print(key, a[key])
由于内部实现的原因,dict保留了python3.6中的插入顺序,您可以依赖python3.7中的顺序

dict对象的插入顺序保留特性现在是一个重要的特性 Python语言规范的官方部分

由于内部实现的原因,dict保留了python3.6中的插入顺序,您可以依赖python3.7中的顺序

dict对象的插入顺序保留特性现在是一个重要的特性 Python语言规范的官方部分


在Python 3.7和更新版本中,dict对象将始终保持插入顺序-这是规范现在强制要求的。实际上,自3.6在CPython中,3.7只是使其成为语言的正式行为以来,一直是这样。您使用的是哪一版本的Python?口述杂乱无章;CPython 3.6将其作为实现细节进行排序,Python 3.7将其作为语言规范的一部分正式发布。请注意,顺序是插入顺序,而不是基于键类型的任何特定顺序。是的,它是相同的。很抱歉,我以前没有发现这个问题。在Python 3.7和更新版本中,dict对象将始终保持插入顺序-这是规范现在强制要求的。实际上,从CPython的3.6开始,3.7就一直是这种方式,只是使其成为语言的正式行为。您使用的Python版本是什么?口述杂乱无章;CPython 3.6将其作为实现细节进行排序,Python 3.7将其作为语言规范的一部分正式发布。请注意,顺序是插入顺序,而不是基于键类型的任何特定顺序。是的,它是相同的。很抱歉,我以前没有发现这个问题。我不知道最近有变化,你能链接一些文档/发行说明来说明这一点吗?是的,这就是我需要的答案。非常感谢你!我不知道最近有变化,你能链接一些文档/发行说明说明吗?是的,这就是我需要的答案。非常感谢你!