python 字典dict
一、字典(dict)
1.字典
字典:用 {} 来表示, 键值对数据 {key:value}, 具有唯一性。
键:都必须是可哈希的,不可变的数据类型就可以当做字典中的键值,没有任何限制。
2.字典的增删改查
1增加
dic[键名] = value 新增,强制添加
dic.setdefault(key,value) 如果字典中存在就不进行操作,不存在就进行添加。
1 dic = {"k1":"v1","k2":"v2","k3":"v3"} 2 dic["k4"] = "v4" 3 dic.setdefault("k5","v5")
2.删除
dic.pop(key) 通过key删除,返回值是被删除的值
del dic[key] 通过key删除
clear() 清空字典
popitem() 随机删除 (python3.6中是删除最后一个,python3.5是随机删除)
1 dic = {"k1":"v1","k2":"v2","k3":"v3"} 2 dic.pop("k1") 3 del dic["k2"] 4 dic.popitem()
3.修改
dic[key] = value 强制修改
dic.update(dict) 更新/升级
1 dic = {"k1":"v1","k2":"v2","k3":"v3"} 2 dic1 = {"q1":"w1","q2":"w2","q3":"w3"} 3 dic["k1"] = "b1" 4 dic.update(dic1)
4.查找
for 循环 默认是获取字典中的键
dic[key] 查看1:没有这个键的时候会报错
dic.get(key,返回值) 查看2:没有则返回None,可指定返回内容
dic.setdefault(key) 查看3:没有则返回None
1 dic = {"k1":"v1","k2":"v2","k3":"v3"} 2 for i in dic: 3 print(i) 4 print(dic["k1"]) 5 print(dic.get("k2")) 6 print(dic.setdefault("k3"))
3.字典的其他操作:
keys 获取到所有的键存在一个高仿的列表中
values 获取到所有的值存在一个高仿的列表中
items 获取到所有的键值对已元祖的形式存在一个高仿的列表中
1 dic = {"k1":"v1","k2":"v2","k3":"v3"} 2 for i in dic.keys(): 3 print(i) 4 for i in dic.values(): 5 print(i) 6 for i in dic.items(): 7 print(i)
解构:
a,b = 1, 2
a,b = (1,2)
a,b = [1,2]
1 dic = {"k1":"v1","k2":"v2","k3":"v3"} 2 for a,b in dic.items(): 3 print(a) 4 print(b)
4.字典的嵌套
dic = {key1:value1,key2:value2,{key3:value3,key4:value4}}
1 dic = {'name':'小明','age':15,'family':{ 2 'name':'大明', 3 'age':39, 4 'salary':100000 5 }, 6 'friend':[ 7 {'name':'熊大','age':16}, 8 {'name':'熊二','age':14}, 9 ] 10 } 11 print(dic['friend'][1]['name'])