"""# 创建字典dic1 = {'name':'zew', 'age':18, 'sex':'男'}print(dic1)dic2 = dict(one = 1, two = 2, three = 3) # 自动拆包print(dic2)dic3 = dict((('one', 1),('tow', 2),('three', 3)))print(dic3)dic4 = dict(zip(['one', 'two', 'three'], [1, 2, 3]))print(dic4)dic5 = {k : v for k, v in [('one', 1),('two', 2),('three', 3)]}print(dic5)dic6 = dict.fromkeys('1234', 'zew')print(dic6)# 1、增dic7 = {}# 通过键值对直接增加,如果key存在,则改变key对应的value值dic7['name'] = 'zew'print(dic7)dic7['name'] = 'ljx'print(dic7)# setdefault 关键字,如果key不存在,则增加key-value,如果key存在,则不改变key对应的值;# 所以setdefault主要用来在dict中添加键值对;# setdefault有返回值dic7.setdefault('age', 18) # {'name': 'ljx', 'age': 18}print(dic7)age = dic7.setdefault('age', '20') # {'name': 'ljx', 'age': 18}print(dic7)print(age) # 18# 2、删# pop 通过键删除键值对,有返回值,可设置返回值dic = {'name':'zew', 'age':18, 'sex':0}sex = dic.pop('sex')print(dic,sex) # {'name': 'zew', 'age': 18} 0hobby = dic.pop('hobby', '无此键值对')print(dic, hobby) # {'name': 'zew', 'age': 18} 无此键值对# popitem 3.5版本之前为随机删除,3.6之后为删除最后一个,有返回值print(dic) # {'name': 'zew', 'age': 18}flag = dic.popitem()print(dic, flag) # {'name': 'zew'} ('age', 18)# clear 清空print(dic) # {'name': 'zew'}dic.clear()print(dic) # {}# del a.通过key删除键值对 b.删除整个字典dic = {'name':'zew', 'age':18, 'sex':0}del dic['name']print(dic) # {'age': 18, 'sex': 0}del dicprint(dic) # NameError: name 'dic' is not defined# 3、改# 通过键直接改值dic = {'name':'zew', 'age':18, 'sex':0}dic['name'] = 'ljx'print(dic) # {'name': 'ljx', 'age': 18, 'sex': 0}# update key不存在则追加,存在则改变key对应的value值dic.update(hobby = 'run')print(dic) # {'name': 'ljx', 'age': 18, 'sex': 0, 'hobby': 'run'}dic.update(name = 'weij')print(dic) # {'name': 'weij', 'age': 18, 'sex': 0, 'hobby': 'run'}# update 对列表中的元组拆包,追加到原字典dic.update([(1,'a'),(2,'b'),(3,'c'),(4,'d')])print(dic)# update 将字典追加到原字典,如果字典中的key在原字典中存在,则更新key对应的value值dic2 = {'name':'zew', 'weight':178}print(dic) # {'name': 'weij', 'age': 18, 'sex': 0, 'hobby': 'run', 1: 'a', 2: 'b', 3: 'c', 4: 'd'}dic.update(dic2)print(dic) # {'name': 'zew', 'age': 18, 'sex': 0, 'hobby': 'run', 1: 'a', 2: 'b', 3: 'c', 4: 'd', 'weight': 178}print(dic2) # {'name': 'zew', 'weight': 178}# 4、查# 直接dic[key],key不存在时会报错dic = {'name':'zew', 'age':18, 'sex':0}print(dic['name'])# print(dic['hobby']) # KeyError: 'hobby'# get关键字,有返回值;key不存在时,返回None,可设置返回值v = dic.get('name')print(v) # zewv = dic.get('hobby')print(v) # Nonev = dic.get('hobby', 'Key不存在')print(v) # Key不存在# keys 关键字,获取字典所有的keyprint(dic.keys()) # dict_keys(['name', 'age', 'sex'])# 转换成列表print(list(dic.keys())) # ['name', 'age', 'sex']# 遍历keyfor key in dic.keys():print(key)# values 关键字,获取字典所有的valueprint(dic.values()) # dict_values(['zew', 18, 0])# 转换成列表print(list(dic.values())) # ['zew', 18, 0]# 遍历valuefor value in dic.values():print(value)# items 关键字print(dic.items()) # dict_items([('name', 'zew'), ('age', 18), ('sex', 0)])# 转换成原则print(tuple(dic.items())) # (('name', 'zew'), ('age', 18), ('sex', 0))# 遍历items并将元组拆包for k,v in dic.items():print(k, v)"""# 列表的嵌套dic = {'name':'汪峰','age':48,'wife':[{'name':'国际章','age':38}],'children':{'girl_first':'小苹果','girl_second':'小怡','girl_three':'顶顶'}}# 1. 获取汪峰的名字。print(dic.get('name'))# 2.获取这个字典:{'name':'国际章','age':38}。print(dic.get('wife')[0]) # {'name': '国际章', 'age': 38}# 3. 获取汪峰妻子的名字。print(dic.get('wife')[0]['name']) # 国际章# 4. 获取汪峰的第三个孩子名字。print(dic['children'].get('girl_three')) # 顶顶
文章转载自amazingweiwei,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




