python3 有序字典
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]
以上是关于python3 有序字典的主要内容,如果未能解决你的问题,请参考以下文章
python实现字典遍历稳定有序使用collection包OrderedDict