5:字典及其操作
数据类型:
1、可变数据类型:list、dictionary---->不可哈希
2、不可变数据类型:元祖、字符串str、bool、int
字典:数据类型中唯一映射数据类型dict,具有键和值的对应关系
其中:
key:必须是不可变类型,也就是可哈希
value:任意数据类型
字典使用二分法查找,是储存大量数据关系的数据类型
特点:字典是无序的
字典的方法:
1、增
1>直接赋值:dic1[height]=185,没有键值时,直接赋值;有键值时,被覆盖
2>通过setdefault进行赋值 dic1.setdefault('weight',150) 没有value时默认None ,如果有键值时不做操作,没有才添加
2、删
1>pop dic1.pop('age')有返回值,按 键 去删除
dic1.pop('meiyou','None') 没有此键时返回None,有的话返回被删除的对象
2> popitem dic1.popitem() 随机删除
print(dic1.popitem()) 随机删除,有返回值,返回的是元祖显示的是被删除的键值
3>del 删除 del dic1['name'] 删除键所对应的值
del dic1 删除整个字典
4> clear dic1.clear 清空字典
3、改
1 > update 更新
dic1={'name':'王宇星','age':'24','sex':'male'} dic2={'1':1,'2':2} dic2.update(dic1) print(dic1) print(dic2)
2>直接赋值
4、查
dic1={'name':'王宇星','age':'24','sex':'male'} dic2={'1':1,'2':2} dic2.update(dic1) print(dic1.keys(),type(dic1.keys())) print(dic1.values(),type(dic1.values()))
2> 循环查
下面这种循环:直接对字典进行循环,执行结果为key
for i in dic1: print(i)
如果对dic1.keys()进行for循环,执行结果为key
如果对dic1.values()进行for循环,执行结果为value
for i in dic1.keys(): print(i) for i in dic1.values(): print(i)
键值成对对应打出:使用循环对两个变量进行
for i ,j in dic1.items(): print(i,j)
3>get 查询
v1=dic1.get('name','没有这个值') print(v1)
执行结果为:王宇星
如果不存在相关的键,找不到的话会返回None或者预留的值(如上:执行结果为‘没有这个值’)