Day5 字典的用法
字典
字典是python的基础数类型之一,字典可以存储大量的数据(关系型数据)。
也是python中唯一的映射类的数据类型。
数据类型分类:
可变(不可哈希)的数据类型:list,dict
不可变(可哈希)的数据类型:str、int、bool、tuple
dict = {“name”:”ake”,”age”:23,”sex”:”男“}
字典是键值对的形式存在的 {key:value}
键(key):必须是不可变的数据类型(一般由数字、str组成)
值(value):任意数据
优点:可以存储大量的关系型数据
查询速度快
增
第一种:有此key就改,无此key就添加
dict = {“name”:”ake”,”age”:23,”sex”:”男“} dic['sex'] = '男' dic['name'] = 'alex'
第二种:setdefault 有此key则不做任何操作但是可以返回对应的值,无此key则添加
dic.setdefault('sex') dic.setdefault('hobby','讲课') dic.setdefault('name','alex') print(dic.setdefault('name')) print(dic)
删
Pop 按key删,也有返回值,如果没有此key,并且设置了第二个参数,则不会报错,并且返回第二个参数。
print(dic.pop('name')) print(dic.pop('name1',None)) print(dic.pop('name1','没有此键....')) print(dic)
Clear 清空列表。
Popitem 3.5之前随机删除,3.6及以后删除最后一个。
Del 安key删除,也可删除整个字典。
改
第一种:安key改
Dic[“key”] = 23
第二种 针对两个字典update
dic = {"name":"jin","age":18,"sex":"male"} dic2 = {"name":"alex","weight":75} dic.update(dic2) # 将dic2中的所有键值对覆盖并添加到dic中,dic2 不变。 dic.update(a='666',b='222',name='taibai')#有则改,无则添加 print(dic)
查
第一种:按key查,没有此key会报错
第二种:get 按key查,没有此key时,如果设置了第二个参数,则返回第二个参数。
print(dic.get('name1','没有此键。。。。'))
for循环查:
#打印所有的key l1 = list(dic.keys()) # 可以转化成list print(l1) for key in dic.keys(): # 可以遍历 print(key) #打印所有的value for key in dic.values(): print(value) #items同理
分别赋值
#a与b的值互换 a = 10 b = 20 a,b = b,a print(a,b)