字典的基本操作
-------------------------------增加数据-------------------------------
1 -- 直接进行键和值的添加
dic = { 'name':'王小二', 'age':18, 'sex':'男' } #注意:这种增加方式,如果字典中存在这个键,就会更改值 dic['hight'] = 165 print(dic) #结果: #{'name': '王小二', 'age': 18, 'sex': '男', 'hight': 165}
2 -- 防止出现键重复的方法添加
setdefault函数说明:
当键存在时,这个函数返回对应的值
当键不存在时,返回None
如果键存在,不会对这个键的值做任何操作
dic = { 'name':'王小二', 'age':18, 'sex':'男' } #检测这个键是否存在,不存在就添加这个键,并且将值设置为 None #存在不做任何事情 dic.setdefault('hight') #直接向字典中添加一对键值 #如果键存在,不修改值 dic.setdefault('weight',20)
-------------------------------删除数据-------------------------------
1 -- pop函数
注意:pop函数会返回当前键的值
dic = { 'name':'王小二', 'age':18, 'sex':'男' } dic.pop('name') #结果: #{'age': 18, 'sex': '男'}
使用pop函数时,如果字典中没有这个键,就会报错,可以自定义返回值来返回
解决方法:
dic = { 'name':'王小二', 'age':18, 'sex':'男' } #当找不到键时,返回None dic.pop('weight',None) print(dic)
2 -- clear()清空字典
dic = { 'name':'王小二', 'age':18, 'sex':'男' } dic.clear() print(dic) #结果: {}
3 -- del 删除字典
注意:如果使用del删除整个字典时,这个字典变量也不存在。。在调用会报错
因为del删除的是字典所占用的内存空间
dic = { 'name':'王小二', 'age':18, 'sex':'男' } del dic['name'] print(dic) #结果: #{'age': 18, 'sex': '男'}
-------------------------------更改( 更新 )数据-------------------------------
1 -- update函数
使用update函数可以把字典1的数据全部赋值给字典2,但是如果二个字典中如果有相同的键就会同时覆盖
没有的键值就进行添加,同时字典2本来就存在的数据不动
dic = {'name':'王小二','age':18,'sex':'男'}
dic2 = {'name':'小红','age':8,'weight':90}
dic2.update(dic)
print(dic2)
#结果
#{'name': '王小二', 'age': 18, 'weight': 90, 'sex': '男'}
-------------------------------查找数据-------------------------------
1 -- keys() 查找键
keys函数可以返回该字典中的所有键名
注意:keys函数返回的是一个列表类型,
dic = {'name':'王小二','age':18,'sex':'男'}
print(dic.keys())
#结果:
#['name', 'age', 'sex']
2 -- values() 查找值
valuse函数可以返回该字典中所有的值
注意: values函数返回的是一个列表类型
dic = {'name':'王小二','age':18,'sex':'男'}
print(dic.values())
#结果:
#['王小二', 18, '男']
3 -- items() 查找键值对
items函数返回的是一个列表,但是这个列表里存放的是元组类型
每个元组里存放的就是一个键值对
dic = {'name':'王小二','age':18,'sex':'男'}
print(dic.items())
#结果:
#[('name', '王小二'), ('age', 18), ('sex', '男')]
4 -- get()函数 取值
get函数可以传递一个键名,来取出对应的值,如果没有这个键,默认返回None
也可以通过参数2 进行自定义找不到键名的返回内容
使用这种取值方法,当没有键名的情况下,程序不会崩溃
dic = {'name':'王小二','age':18,'sex':'男'}
n = dic.get('name','没找到')
print(n)
#结果: 王小二
------------------------------
dic = {'name':'王小二','age':18,'sex':'男'}
n = dic.get('weight','没找到')
print(n)
#结果: 没找到
-------------------------------遍历字典-------------------------------
1 -- 遍历键
在使用for循环时,默认直接遍历键名
dic = {'name':'王小二','age':18,'sex':'男'}
for i in dic: #相当于调用 dic.keys()
print(i)
#结果:
#name age sex
2 -- 遍历值
dic = {'name':'王小二','age':18,'sex':'男'}
for i in dic.values():
print(i)
#结果:
#王小二 18 男
3 -- 遍历键和值
dic = {'name':'王小二','age':18,'sex':'男'}
for k,v in dic.items():
print(k,v)
#结果:
#name 王小二
# age 18
# sex 男

浙公网安备 33010602011771号