python学习之字典的元素顺序

大家都知道python中有一种数据类型叫字典,它是一种哈希结构的数据类型,默认是无序的。

输出结果如下,即字典元素的输出并不是严格按照赋值的顺序排列。

如果分别对d1和d2两个字典变量赋予不同顺序的key和value,但是他们的值是一样的情况,如以下代码所示。

d1={}
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d1['d'] = 'D'
for k, v in d1.items():
    print(k, v)
print("-------------------------")
d2={}
d2['a'] = 'A'
d2['c'] = 'C'
d2['b'] = 'B'
d2['d'] = 'D'
for k, v in d2.items():
    print(k, v)
print(d1==d2)

上述代码中d1==d2为True,说明字典中的元素是不考虑顺序的。

那么如果需要考虑字典元素顺序的应用场景,可以使用collections模块中的OrderedDict

import collections
d3 = collections.OrderedDict()
d3['a'] = 'A'
d3['b'] = 'B'
d3['c'] = 'C'

d4 = collections.OrderedDict()
d4['a'] = 'A'
d4['c'] = 'C'
d4['b'] = 'B'

print(d3==d4)

上述代码中,输出结果为False。

所以,可以通过OrderedDict实现了字典的按序排列,将无序变成严格的有序排列。

展开阅读全文

页面更新:2024-05-09

标签:字典   顺序   元素   赋值   变量   数据类型   排列   模块   场景   代码

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top