dict 字典的增删改查

数据类型划分: 可变数据类型, 不可变数据类型
可变数据类型: list dict set(集合) 不可哈希
不可变数据类型: str int bool 元组 可哈希
dict key 必须是不可变数据类型
value 任意数据类型
dict 优点:
二分查找去查询,速度快
可以存储大量的关系型数据
特点:
无序的
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male'}
dic1['进度'] = '10%'    #若没有key,则添加
dic1['age'] = 22        #若有key,则值覆盖

dic1.setdefault('进度','10%')   #没有key,则添加
dic1.setdefault('age','22')       #有key,不做任何改变
print(dic1)
dict--增
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male'}
pop方法删除指定的键并返回相应的值。如果没有找到键,则返回给定的d,否则引发键错误
s = dic1.pop('age')   #如果有key,则删除,返回value
s = dic1.pop('进度',None)     #没有key,则返回自己定的值,否则报错

s = dic1.popitem()  #随机删除,返回元组,元组内部是删除的键值对

dic1.clear()      #清空字典,从内存删除,不能print清空的字典,会产生报错

del dic1      #删除字典
del dic1['name']    #删除键值对,如没有key,则报错,不如pop方法
print(dic1)
dict--删
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male'}
dic1['进度'] = '10%'    #若没有key,则添加
dic1['age'] = 22        #若有key,则值覆盖
dic2 = {"name":"alex","weight":75}
s = dic2.update(dic1)   #把1内部的所有键值对更新到2,如key相同,则覆盖
print(s)
print(dic1,dic2)
dict--改
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male'}
print(dic1.keys())
print(dic1.values())
print(dic1.items())
返回元组 dict_keys(['age', 'name', 'sex'])

for k,v in dic1.items():
    print(k,v)    #输入str类型键值对
s = dic1['age']     #按key查询value
s = dic1['学习进度']    #若没有key,则报错
s = dic1.get('学习进度','找不到此key')  #get方法与删除pop类似,找不到返回设置的d
s = dic1.get('age','找不到此key')       #如果找到key,则返回对应的value
print(s)
dict--查

 

posted @ 2019-02-15 16:29  ChenGouDa  阅读(202)  评论(0)    收藏  举报