一. 字典
语法 : {key1: value1, key2: value2....}
注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据
1. 字典的增删查改
增加: dic['key'] = 'value' #新增{'key':value"} , 若字典中含有的key和新增的key相同,将value替换.
dic.setdefault('key','value') #字典中若含有key, 则不再添加. 若只添加key,value为None.
dic = {'uzi':'简自豪','房东的猫':'小黑','美女':'王珞丹'} dic['赛利亚']='我老婆' dic['韩xx']='哼哼' dic['赛利亚']='白丝袜'#虽然 key '赛利亚',已经有了. 重 新添加就会重新为value 赋值. dic.setdefault('旭旭宝宝','增幅王') dic.setdefault('旭旭宝宝','强化王')#字典中已经含有了 key '旭旭宝宝',所以vlaue 不增加 print(dic)
#程序输出:{'uzi': '简自豪', '房东的猫': '小黑', '美女': '王珞丹', '赛利亚': '白丝袜', '韩xx': '哼哼', '旭旭宝宝': '增幅王'}
删除: dic.pop("key") #根据"key"删除. 返回的是"value"
del dic["key"] #根据"key"删除. 无返回值,只是一个操作
dic.popitem() #随机删除.返回的是元组(即print(dic.popitrm())打印出来的是元组)
dic.clear() #清除字典
dic = {'uzi':'简自豪','房东的猫':'小黑','美女':'王珞丹'} dic.pop('uzi')#根据 'key'删除 #输出结果: {'房东的猫': '小黑', '美女': '王珞丹'} del dic['uzi'] #输出结果: {'房东的猫': '小黑', '美女': '王珞丹'} dic.popitem() #随机删除 #输出结果: 随机删除一个 dic.clear() #清除 #输出结果: {} print(dic)
修改: dic[''key''] #用key修改
dic update(dic1) #将dic1 中的内容更新至 dic 若key 存在则替换
dic = {'uzi':'简自豪','房东的猫':'小黑','美女':'王珞丹'} dic['uzi']=dic['uzi']+'小狗'#在dic中的key为'uzi'的vlaue 添加 dic1 = {'雪糕':'哈根达斯','学习':'python','对象':'没有'}
dic.update(dic1)
#输出结果:{'uzi': '小狗', '房东的猫': '小黑和少年佩', '美女': '王珞丹和赵丽颖', '雪糕': '哈根达斯', '学习': 'python', '对象': '没有'} dic2 = {'uzi':'小狗','房东的猫':'小黑和少年佩','美女':'王珞丹和赵丽颖'} dic.update(dic2)#将dic2中的vlaue更新到dic,如果dic2中的key在duc中存在,则将vlaue替换, 不存就添加
#输出结果:{'uzi': '小狗', '房东的猫': '小黑和少年佩', '美女': '王珞丹和赵丽颖'}
print(dic)
查找: dic['key'] #查询'key'的内容,若key不存在 报错. ****添加有点像,但添加要在 ' = ' 后面将 ' value '写出来
dic.get('key','默认值=None') #key不存在,返回None. 若给出默认值,key不存在就返回给出的默认值.
dic.setdefault('key','value') #****setdefault进行两次操作,第一次将输入的键值对添加到字典中,若字典中已经有了输入的'key'.则跳过添加,进行查询'key'的内容.
dic = {'uzi':'简自豪','房东的猫':'小黑','美女':'王珞丹'} print(dic['uzi']) print(dic.get('哈哈','最牛逼'))# print(dic.setdefault('uzi啊','最牛逼 '))#先增加,后提取
#输出结果:
#简自豪
#最牛逼
#最牛逼
2. dict的常用操作
dic.keys() #返回(取出)字典中所有的key集合, 像列表却不是列表.
dic.values() #返回字典中所有的value集合
dic.items() #返回字典中键值对. (键值对以元组的形式)
dic = {'uzi':'简自豪','房东的猫':'小黑','美女':'王珞丹'} print(dic.keys()) print(dic.values()) print(dic.items())
#输出结果:
#dict_keys(['uzi', '房东的猫', '美女'])
#dict_values(['简自豪', '小黑', '王珞丹'])
#dict_items([('uzi', '简自豪'), ('房东的猫', '小黑'), ('美女', '王珞丹')])
3.解构
a.b=(1.2)
a=1
b=2
4.字典for循环
dic = {1: 'a', 2:'b', 3:'c'} for a in dic: # 直接循环字典.拿到的是key print(a) print(dic[a])#dic[a] 取出key为'a'的内容
#输出结果:
1
a
2
b
3
c