字典
字典---->dict
字典是无序的,可变的 关联性强
键值对
键:使用不可变的数据类型(可哈希),键是唯一的
值:可以任意
-
定义一个字典
dic = {}#定义字典
字典的增删改查
#增
dic1= {"name":"于谦","sex":"男","age":50}
dic1["hobby"] = "抽烟,喝酒,烫头" #直接添加--->dic["键"]="值"
print(dic1)#{'name': '于谦', 'sex': '男', 'age': 50, 'hobby': '抽烟,喝酒,烫头'}
dic1.setdefault("name","郭德刚") #当添加的内容字典里没有,则会添加进去 如果存在则不添加
print(dic1)#{'name': '于谦', 'sex': '男', 'age': 50}
dic1.setdefault("hobby","抽烟,喝酒,烫头")
print(dic1)#{'name': '于谦', 'sex': '男', 'age': 50, 'hobby': '抽烟,喝酒,烫头'}
#删
del dic1["name"] ---->del dic1["键"] !!!中括号
print(dic1)#{'sex': '男', 'age': 50}
dic1.pop("sex")------>dic1 pop("键") !!!小括号
print(dic1) #{'name': '于谦', 'age': 50}
print(dic1.pop("sex"))#返回被删除键的值
dic1.clear() #清空字典
print(dic1)#--->{}
#改
dic1["age"]=56 #直接改 dic ["键"]=值
print(dic1)--->{'name': '于谦', 'sex': '男', 'age': 56}
dic1.update({"hobby":"抽烟,喝酒,烫头"}) #dic.update("字典要更新的内容")
print(dic1)#{'name': '于谦', 'sex': '男', 'age': 50, 'hobby': '抽烟,喝酒,烫头'}
#查
for i in dic1:
print(i) #name sex age 返回的是字典的键
print(dic1.get("name"))#于谦 dci1.get("键") 返回字典的键对应的值,不存在返回None
print(dic1["sex"]) #男 dic1["键"] 返回字典的键对应的值,不存在会报错
字典的其他操作
#key 获取字典中所有的键
print(dic1.keys())#dict_keys(['name', 'sex', 'age'])高仿列表
print(list(dic1.keys()))#['name', 'sex', 'age'] 转换为列表
#values 获取字典中所有的值
print(dic1.values())#dict_values(['于谦', '男', 50])高仿列表
print(list(dic1.values()))#['于谦', '男', 50] 转换为列表
#items 获取字典中所有的键和值,存在高仿列表的元祖里(元祖第一个为键,第二个为值)
for k,v in dic1.items():
print(k,v)
解构
a = 10
b =20
a,b = b,a
print(a,b)#20 10 整型 字符串 列表 字典 都可以
字典嵌套
通过字典一层一层的找