字典
1.dict:是python中唯一的影射类型对象
2.构成
key:键
value:值
key-value:键值对(常见形式:k-v)
1.不支持下标操作
2.不支持切片操作
3.不是序列(无序)
4.是可迭代对象
5.字典中的键是唯一的,不可重复的
1.手工创建
变量 = {键1:值1,键2:值2}
d = {}:空字典
2.构造方法
dict():关键空字典
dict(mapping):以映射创建字典
dict(**kwwargs):使用命名关键字参数创建字典
dict(iterable):使用可迭代对象创建字典
iterable是一个二维可迭代对象
注意可迭代对象的每个元素要有两个元素
这种可迭代对象叫做具有映射关系的可迭代对象
形式如下[('a',1),('b',2)]
d1 = dict(a=1,b=2)
d2 = dict()
d = dict([('a',1),('b',2)])
print(d, d1, d2)
{'a': 1, 'b': 2} {'a': 1, 'b': 2} {}
1.update([E,],**F):
1.传入一个字典,用新字典的键值对,更新老字典
2.传入关键字参数,更新老字典
字典.update(a=1)
2.手工添加
dict1[键名] = 值
代码:
d1 = {'a':1,'b':2}
print(d1)
d2 = {'b': 99}
d1.update(d2)
d1.update(a=100)
print(d1)
效果:
{'a': 1, 'b': 2}
{'a': 100, 'b': 99}
1.clear():
清空字典
2.pop(k,[d]):提示参数d
删除k对应的键值对,如果k存在则返回k键对应的值,不存在则返回d的值
3.popitem():
随机(遵循某种算法)删除一个键值对,并返回这个键值对
1.手工修改
dict1[已有键的名] = 新的值
1.访问一个
键操作
dict[键名]
不支持下标操作
2.访问所有
遍历
如果直接遍历字典,只能遍历出键(默认)
字典中只有键
1.copy():
浅拷贝
2.fromkeys(iterable, value=None):
将可迭代对象中的元素作为键,value作为每个元素的value
3.get(k[,d]):
k:key
d:默认值,默认为None(可以作为提示信息)
从字典中,获取键k的值,等同于dict['key']
若k存在则返回对应的值,如不存在时,则返回d值
4.items()
返回的是一个具有映射关系的可迭代对象
返回一个dict_items对象形式
for k, v in d.items()
5.keys():
将字典中所有键,打包进行返回
6.values():
将字典中所有值,打包进行返回
7.d.setdefault(k[,d]):
若k存在,同get()方法,若k不存在,则给字典添加一个元素:dict1[k] = d
1.成员关系运算符
in / not in