字典的增删改查
#键值对: #酒店: #键:房间号,唯一的,不可变的(类似数据库key) #值:房间,里面放什么数据都可以 dic = {1:'alex',1:'太白',2:'wusir'} #键值要唯一 print(dic) #{1: '太白', 2: 'wusir'}
- 字典就是键值对,我通过房间号找房间,房间里的内容是什么都行
- 列表是一个一个的数据按顺序存放在容器型数据类型中
增
dic = {'name':'太白','age':18} #字典的增删改查 #增: #一、直接增加:有则改之,无则增加 dic['sex'] = '男' dic['age']= 23 #{'name': '太白', **'age': 23**, 'sex': '男'} #二、setdefault:,无则增加 dic.setdefault('hobby') #{'name': '太白', 'age': 18, **'hobby': None**} dic.setdefault('hobby','球类运动') #{'name': '太白', 'age': 18, 'hobby': **'球类运动'**} dic.setdefault('age',25) #有则不变 #{'name': '太白', **'age': 18**, 'hobby': '球类运动'}
删:
pop
#删 #**pop** 按照键去删除键值对,返回值为删除的值 # ret = dic.pop('age') #技巧,删除一个未知键值对, # pop第一个参数是键,第二个参数是值 # 设置第二个参数则无论字典中有无此键都不会报错 ret = dic.pop('hobby','没有此键') print(ret) print(dic) #clear:清空,里面内容清空,字典本身没有被删除 dic.clear() print(dic) #del del dic['age'] print(dic)
改查
dic = {'name':'太白','age':18,'hobby_list':[]} #改 dic['name'] = 'alex' print(dic) #查 #print print(dic['hobby_list']) print(dic['hobby_list1']) #KeyError: 'hobby_list1' #**get** l1 = dic.get('hobby_list') l1 = dic.get('hobby_list1','没有此键sb') #参数二可定义一个返回值,不容易报错 print(l1) #三种特殊函数 #keys()+values()+items() #keys() print(dic.keys()) #可以转化成列表 print(list(dic.keys())) for key in dic.keys(): print(key) #values() print(dic.values()) print(list(dic.values())) for value in dic.values(): print(value) #items() print(dic.items()) for i in dic.items(): print(i) #元祖拆包 for key,value in dic.items(): print(key,value)