萬惡之源-基本數據類型(dict)spa
1. dict(字典)
用大括號{} 括起來. 內部使用key:value的形式來保存數據
{'jay':'周杰倫', "jj":'林俊杰'}
注意:字典的key必須是可哈希的.,不可變的, value 沒有限制
不是按照咱們保存的順序保存的, 無序的code
字典的相關操做:
<1>增長
dic = {"昆凌":"周杰倫的老婆"} # dic['國際章'] = "汪峯的老婆" # print(dic)# 新增 # dic['國際章'] = "雄壯的老外" # 若是key重複了. 會替換掉原來的value dic.setdefault("馬蓉", "王寶強的前任老婆") dic.setdefault("馬蓉", "宋哲的現任老婆????") # 若是字典中已經包含了這個key. 再也不繼續保存 print(dic)
<2>刪除blog
dic = {"牌牌":"你去哪裏了", "曉雪":"你快回來.", "雪雪": "又走了"} ret = dic.pop("曉雪") # 刪除一個元素. 返回這個元素的value值 print(ret)
dic = {"牌牌":"你去哪裏了", "曉雪":"你快回來.", "雪雪": "又走了"} del dic["雪雪"] print(dic)
dic = {"牌牌":"你去哪裏了", "曉雪":"你快回來.", "雪雪": "又走了"} ret = dic.popitem() # 返回給你的是一個元組. print(ret) print(dic) 隨機刪除
# 清空字典中的全部內容 dic.clear()
<3>改get
用key去修改it
dic = {"id":1, 'name':'李嘉誠', 'money':10000000} # 李嘉誠賠了500 dic['money'] = dic['money'] - 500 # 用key去修改 print(dic)
dic1 = {"李晨":"范冰冰", "鄧超":"孫儷", "王祖藍":"李亞男"} dic2 = {"李晨":"張馨予", "鄭凱":"baby", "王寶強":"馬蓉"} dic1.update(dic2) # 把dic2中的內容更新到 dic1 , 若是存在了key. 替換. 若是不存在,添加 print(dic1) print(dic2)
<4>查for循環
dic = {"及時雨":"宋江", "小李廣":"花榮", "黑旋風":"李逵", "易大師":"劍聖"} print(dic["易大師是個腦殘"]) # 查詢, 若是key不存在,報錯
get的查
dic = {"及時雨":"宋江", "小李廣":"花榮", "黑旋風":"李逵", "易大師":"劍聖"} print(dic.get("易是")) # 若是key不存在. 返回None
get的查
dic = {"及時雨":"宋江", "小李廣":"花榮", "黑旋風":"李逵", "易大師":"劍聖"} print(dic.get("易是", "餘小C")) #能夠給出一個默認值. 當key不存在的時候返回默認值餘小C
2.字典的經常使用操做class
1. keys() 返回全部字典的key的集合(高仿列表)date
dic = {"及時雨":"宋江", "易大師":"劍聖", "維恩":"暗影獵手"} for key in dic.keys(): # 能夠進行迭代循環 print(key)
2. values() 返回全部的value的集合循環
dic = {"及時雨":"宋江", "易大師":"劍聖", "維恩":"暗影獵手"} for value in dic.values(): print(value)
3. items() 返回鍵值對. 元組數據類型
dic = {"及時雨":"宋江", "易大師":"劍聖", "維恩":"暗影獵手"} for k, v in dic.items(): print(k , v)
解構,解包
a, b = (1, 2) print(a) print(b)
3.字典的嵌套
dic = { "name":"汪峯", "age": 58, "wife":{ "name":"國際章", "salary": 180000, "age": 37 }, "children":[ {"name":"老大", "age": 18}, {"name":"老二", "age": 118} ] } print(dic["children"][1]["age"]) print(dic["wife"]['salary'])
4.字典的for循環
dic = {1: 'a', 2:'b', 3:'c'} for a in dic: # 直接循環字典.拿到的是key print(a) print(dic[a])