Python3 中提供得OrderedDict类,即有序字典,与Dict得区别就是OrderedDict有序的存储数键值对。
from collections import OrderedDict
# 创建OrderedDict
info = OrderedDict()
info['张三'] = 19
info['李四'] = 20
info['王五'] = 21
print(info)
person_gender = OrderedDict(
{
'张三': '男',
'李四': '男',
'王五': '男',
}
)
print(person_gender)
job = {
'张三': '打工',
'李四': '是不可能打工',
'王五': '偷电瓶',
}
person_job = OrderedDict(job)
print(person_job)
# 复制OrderedDict
job_bkp = person_job.copy()
print(job_bkp)
# 清空OrderedDict
job_bkp.clear()
print(job_bkp)
# fromkeys(指定一个列表,把列表中的值作为字典的key,生成一个字典)
name = ['张三', '李四', '王五']
height = 180
person_height = OrderedDict()
person_height = person_height.fromkeys(name, height)
print(person_height)
# OrderedDict items\keys\values
print(person_height.keys())
print(person_height.values())
print(person_height.items())
# OrderedDict pop删除元素 指定key
person_height.pop('王五')
print(person_height)
# OrderedDict popItem 删除元素 后进先出原则
print(person_height.popitem())
输出结果如下:
OrderedDict([('张三', 19), ('李四', 20), ('王五', 21)])
OrderedDict([('张三', '男'), ('李四', '男'), ('王五', '男')])
OrderedDict([('张三', '打工'), ('李四', '是不可能打工'), ('王五', '偷电瓶')])
OrderedDict([('张三', '打工'), ('李四', '是不可能打工'), ('王五', '偷电瓶')])
OrderedDict()
OrderedDict([('张三', 180), ('李四', 180), ('王五', 180)])
odict_keys(['张三', '李四', '王五'])
odict_values([180, 180, 180])
odict_items([('张三', 180), ('李四', 180), ('王五', 180)])
OrderedDict([('张三', 180), ('李四', 180)])
('李四', 180)