1. 程式人生 > >字典與集合的用法

字典與集合的用法

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的字典

字典與集合的用法