大家都知道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
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号