字典與集合的用法
阿新 • • 發佈:2018-12-01
ems ash div 不執行 嵌套 骰子 error 不存在 erro
1. 什麽是字典
字典是以key:value的形式來保存數據
用{}表示. 存儲的是key:value
2. 字典的增刪改查
1. 添加
dic[新key] = 值
setdefault()
dic = {"美國":"美國往事","中國":"李雲龍"} dic["印度"] = "三傻大鬧寶萊塢" print(dic) dic["韓國"] = "釜山行" print(dic) dic.setdefault("韓國","奸臣") print(dic) dic.setdefault("英國","奸臣") print(dic)
2. 刪除
pop(key)
dic = {"張藝謀":"紅高粱","陳凱歌":"霸王別姬","吳京":"戰狼","李安":"斷背山"} dic.pop("吳京") print(dic) dic.popitem() print(dic) del dic["張藝謀"] print(dic) dic.clear() print(dic)
3. 修改
dic[老key] = 值
update() 更新字典
dic = {"趙四": "劉曉光", "劉能": "王小利", "王木生": "範偉"} print(dic["劉能"]) print(dic.get("大腳", "沒有這個人")) ret = dic.setdefault("皮校長", "皮長山") print(ret) ret = dic.setdefault("王木生", "皮長山") print(ret) dic1 = {"趙四":"劉曉光", "劉能":"王曉利", "王木生":"範偉"} dic2 = {"趙四":"寶寶", "劉能":"萌萌", "皮校長":"皮長山"} dic1.update(dic2) print(dic1) print(dic2)
4. 查詢
dic[key]
get(key, 值)
setdefault()
第一個功能是添加(當key不存在).
第二個功能是查詢(根據你給的key查詢)
整個執行流程: 判斷給的key是否存在. 如果存在. 就不執行新增流程.直接查詢出這個key對應的value如果key不存在. 先執行新增操作. 再使用key把對應的value查詢出來
setdefault(key, value)
dic1 = {"趙四":"劉曉光", "劉能":"王曉利", "王木生":"範偉"} print(dic1["趙四四"]) # KeyError: ‘趙四四‘ key不存在 print(dic1.get("劉能能")) # None 當key不存在返回None print(dic1.get("劉能能", "沒有這個人")) # 當key不存在. 返回第二個參數. 默認第二個參數是None ret = dic1.setdefault("皮長山", "皮校長") print(ret) # 皮校長
5. 遍歷,字典是一個可叠代對象
3. 字典的相關操作
1. keys() 獲取到所有的鍵
dic = {"趙四":"劉曉光", "劉能":"王曉利", "王木生":"範偉"} for key in dic.keys(): print(key)
2. values() 獲取到所有的值
dic = {"趙四":"劉曉光", "劉能":"王曉利", "王木生":"範偉"} for value in dic.values(): print(value)
3. items() 拿到所有的鍵值對
dic = {"趙四":"劉曉光", "劉能":"王曉利", "王木生":"範偉"} for k, v in dic.items(): print(k) print(v)
4. 字典的嵌套
字典的嵌套. 字典套字典
wf = { "name":"汪峰", "age":52, "hobby":["唱歌", "上頭條", "穿皮褲"], "wife": { "name": "章子怡", "age": 49, "hobby":["演戲", "上電視", "當導師"], "tishen": { "name":"萌萌", "age":28 } } } print(wf["wife"]["tishen"]["name"])
5. 集合
集合中的元素是不重復的. 必須是可hash的(不可變), 字典中的key
lst = ["麻將", "骰子", "撲克", "骰子", "撲克"] s = set(lst) print(s) #麻將, 骰子, 撲克
set()是去重最簡單的方法
空集合:set()
空元組:tuple()
空列表:list()
非空集合: {123}集合, 集合其實就是不存value的字典
字典與集合的用法