首先声明一点,从Python3.6开始,Python中内置的字典是有序的,这里的有序是指输出有序,是按照插入的顺序输出的,而不是指按照key的字母数字顺序。

1、Python3.6之前,Python中的字典是无序的 

python2.7.16编译器环境:

## python2.7.16
dic1 = {'a':'a', 'b':'b', 'c':'c'}
print(dic1) # {'a': 'a', 'c': 'c', 'b': 'b'}

dic2 = {}
dic2['a'] = 'a'
dic2['b'] = 'b'
dic2['c'] = 'c'
print(dic2) # # {'a': 'a', 'c': 'c', 'b': 'b'}

for k,v in dic2.items():
  print(k, dic2[k])
# ('a', 'a')
# ('c', 'c')
# ('b', 'b')

2、Python3.6及之后的版本Python字典的输出是有序的(按插入的顺序)

python3.8.10编译器环境:

但是从取值方式看,字典依然是一个无序的数据类型取值还是用key来获取,不是下标。

## python3.8.10
dic1 = {'c':'c', 'a':'a', 'b':'b'}
print(dic1) # {'c': 'c', 'a': 'a', 'b': 'b'}
dic2 = {}
dic2['c'] = 'c'
dic2['a'] = 'a'
dic2['b'] = 'b'
print(dic2) # {'c': 'c', 'a': 'a', 'b': 'b'}
for k,v in dic2.items():
  print(k, dic2[k])
# c c
# a a
# b b
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐