字典(Dict)
1.字典的定义与特性
- 字典的定义
字典的定义:
字典是另一种可变容器模型,且可存储任意类型对象,Python语言中唯一的映射类型。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式: {key1:value1,key2:value2}
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
创建一个空字典
注意:
字典中的键可以是任意的不可变对象(int,str,bool,tuple…),一般情况我们都用的是字符串。另外,字典的键是不能重复的,如果出现重复,那么,后面的会替换掉前面的。
字典的值可以是任意对象。
通过字典的键来获取相应的值
- 字典的特性
由于字典的key值唯一,所以字典不支持索引、切片、重复、连接;但是字典支持成员操作以及for循环。
成员操作符:针对的是key,所以看的是key值在不在字典里。
d={'name':'小徐','age':'18','gender':'男'}
print(d['name'])
print('name' in d)
for循环:for循环针对的也是key
d={'name':'小徐','age':'18','gender':'男'}
for key in d:
print(key)
for k in d.keys():
print(k)
遍历字典:
for key in d:
print(key,d[key])
2.字典的增删改查
- 字典元素的修改
修改一:
如果key值存在 则更新对应的value
如果key不存在 则添加对应的value
d={'name':'小徐','age':'18','gender':'男'}
d['name']='哈哈'
d['adress']='花果山'
print(d)
修改二:
.setdefault()添加key值
若key值存在,不做修改;若key值不存在,则添加key-value值对
d={'name':'小徐','age':'18','gender':'男'}
d.setdefault('name','猪八戒')
print(d)
d.setdefault('adress','花果山')
print(d)
update([other])
将其他字典中的key-value添加到当前字典中,如果有重复的key,则会替换掉之前的对应value
d1={'name':'小徐','age':'18'}
d2={'gender':'男','adress':'花果山'}
d1.update(d2)
print(d1)
print(d2)
- 字典元素的删除
1.del直接删除
d={'name':'小徐','age':'18','gender':'男','adress':'花果山'}
del d['name']
print(d)
2. .popitem删除
一般.popitem删除最后一个key-value值
删除之后,它会将删除的key-value作为返回值返回,返回的是一个元组
d={'name':'小徐','age':'18','gender':'男','adress':'花果山'}
result=d.popitem()
print('result=',result)
print(d)
3. .pop
.pop删除指定的key的key-value
若key存在,删除并返回key对应的value值;若不存在,则报错
4.清空字典内容:.clear()
d={'name':'小徐','age':'18','gender':'男','adress':'花果山'}
d.clear()
print(d)
3.字典元素的查看
查看字典中所有的key值
print(d.keys())
查看字典中所有的value值
print(d.values())
查看字典的key-value值对
print(d.items())
d={'name':'小徐','age':'18','gender':'男','adress':'花果山'}
print(d.keys())
print(d.values())
print(d.items())
查看key的value值
.get方法获取指定key值对应的value值
如果key值存在,返回对应的value值;
如果key值不存在,默认返回None,如果需要指定返回值,传值即可
d={'name':'小徐','age':'18','gender':'男'}
print(d.get('name'))
print(d.get('adress'))
print(d.get('adress','花果山'))