字典
-
特点
-
类名dict
-
元素
key:键
vale:值
k-v:键值对 (entry)
-
字典支持索引,但是不支持下标索引
-
字典是无序的
Python3.6之后,看起来是有序的,本质还是无 序
-
是唯一的映射类型
-
不支持切片操作
-
键是不可重复的
-
可以存储多个数据
-
可以存储多种数据
-
-
创建
-
手工创建
-
构造方法
- dict() 创建空字典
- dict(mapping) 将一个映射类型的对象转换成字典
- dict(iterable)将一个具有映射关系的可迭代对象转换成字典((可迭代对象:必须是二维的且小 一级的维度必须是两个值)
- dict(**kwargs) 使用关键字参数创建字典
-
-
访问
-
访问一个
-
索引操作
不是下标索引,必须是键
-
get(k[,d])
访问键所对应的值,如果键不存在,则返回d,d默认为none
-
-
访问所有
-
遍历
字典直接遍历出来的只有键
-
-
-
添加
-
手动增加
-
d={‘a’: 1, ‘b’: 2, ‘c’: 3}
d[‘e’]=5
-
-
-
删除
-
clear()
清空字典
-
pop(k[,d])
给定一个k,从字典中删除k对应的键值对,并把值进行返回
d:表示k不存在时返回的提示信息
-
popitem()
随机删除一组键值对,并将该键值对以元组的形式返回
-
-
修改
-
手动修改
d={‘a’: 1, ‘b’: 2, ‘c’: 3}
d[‘a’]=99
-
setdefault(k[,d])
如果k存在,则返回k对应的值
如果不存在则给字典添加一个键值对:k-d
-
update([dict, ]**kwargs)
可以传入一个字典,更新现有字典
可以传入一组关键字参数,更新现有字典
-
-
其他
-
copy()
浅拷贝
-
fromkeys(iterable, value=None)
给字典创建元素
给字典添加以可迭代对象的元素为键,以value为值得键值对
-
items()
返回字典的所有的键值对
形式: 类似于二维元组(具有映射关系的可迭代对象)
每个元素都是一个键值对
-
keys()
返回字典的所有的键
-
values()
放回字典的所有的值
-
-
补充
-
字典对键的数据类型有什么要求
字典的键必须是不可变类型的对象/可哈希的对象
-
元组是可以作为字典的键
但是如果元组中有可变类型的数据,也不可以做为键
-
字典的值:
没有要求
-