python3 有序字典


查看帮助文档:

可以发现,所谓有序字典,是记录了插入顺序

很显示 ,最后字典的顺序就是你插入键值对的顺序

方法介绍:(OD,代表字典名,点后面为方法)

OD.clear(), 清除所有键值对

OD.copy(), 浅拷贝

OD.fromkeys(s), 从s中得到key,如果不指定默认值,那么默认情况下会填充为None

#!/usr/bin/env python
#coding:utf-8
#@Author:Andy

from collections import OrderedDict
d = OrderedDict()
d = d.fromkeys(['a', 'z', 'c'], 2) # here set the default value as 2 if not it's None

print(d.items())

 

OD.items(),以集合的形式显示字典的键值对,如上图

OD.move_to_end()

from collections import OrderedDict
d = OrderedDict()
d = d.fromkeys(['a', 'z', 'c'], 2)
d.move_to_end('a', last=True)
print(d)  # OrderedDict([('z', 2), ('c', 2), ('a', 2)])
# 注意,只有当键存在时才有效,否则会报错

 当last设置为False时, 字典本身没有变化。

OD.pop(k,d) ; 此方法有返回值,它移除指定的键,返回该键对应的值。当键k不存在时,如果指定了d,也返回d,如果没有指定,则报错。

OD.popitem(): 返回并移除指定的键值对,键值对返回的顺序是:当last=True, 为先进后出,如果last=False,则先进先出。

OD.setdefault(k,d): 当字典中没有键k时,设置OD[k]=d

OD.values(): 返回字典值的对象

 OD.update(E): 将E字典或者可迭代对象更新到OD中,可以指定keys方法,如果指定了keys()方法,作用相当于:for k in E D[k] = E[k]

    当没有指定keys()方法时,则相当于for k,v in E D[k] = E[k]

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM