时间:2021-05-22
很多人认为python中的字典是无序的,因为它是按照hash来存储的,但是python中有个模块collections(英文,收集、集合),里面自带了一个子类
OrderedDict,实现了对字典对象中元素的排序。请看下面的实例:
import collectionsprint "Regular dictionary"d={}d['a']='A'd['b']='B'd['c']='C'for k,v in d.items(): print k,vprint "\nOrder dictionary"d1 = collections.OrderedDict()d1['a'] = 'A'd1['b'] = 'B'd1['c'] = 'C'd1['1'] = '1'd1['2'] = '2'for k,v in d1.items(): print k,v输出:
Regular dictionary
a A
c C
b B
Order dictionary
a A
b B
c C
1 1
2 2
可以看到,同样是保存了ABC等几个元素,但是使用OrderedDict会根据放入元素的先后顺序进行排序。所以输出的值是排好序的。
OrderedDict对象的字典对象,如果其顺序不同那么Python也会把他们当做是两个不同的对象,请看事例:
print 'Regular dictionary:'d2={}d2['a']='A'd2['b']='B'd2['c']='C'd3={}d3['c']='C'd3['a']='A'd3['b']='B'print d2 == d3print '\nOrderedDict:'d4=collections.OrderedDict()d4['a']='A'd4['b']='B'd4['c']='C'd5=collections.OrderedDict()d5['c']='C'd5['a']='A'd5['b']='B'print d1==d2输出:
Regular dictionary:
True
OrderedDict:
False
再看几个例子:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android中onSaveInstanceState()使用方法详解覆盖onSaveInstanceState方法,并在onCreate中检测savedIns
Python中格式化format()方法详解Python中格式化输出字符串使用format()函数,字符串即类,可以使用方法;Python是完全面向对象的语言,
详解python中executemany和序列的使用方法一代码importsqlite3persons=[("Jim","Green"),("Hu","jie"
MongoDB中Limit与Skip的使用方法详解一MongoDBLimit()方法如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的
Android中Context的使用方法详解概要:Context字面意思是上下文,位于frameworkpackage的android.content.Cont