1. 程式人生 > 實用技巧 >python--字典,解包

python--字典,解包

解包

解包也叫解構

a, b, c = ("馬化騰", "馬雲", "馬良")
print(b)

結果:

馬雲
a, b = [1, 2]
print(a)
print(b)

結果:

1
2

字典

  • 字典的key必須是可雜湊的. 不可變的, value 沒有限制
  • 不是按照我們儲存的順序儲存的, 無序的
  • python3.6之後的字典是有序的
info = {'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
print(info)  # {'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
print(info['stu1102']) # 查 jack print(info.get('stu1104')) # 字典中沒有的顯示None,第二個引數是設定返回的值 None info['stu1101'] = 'zouzou' # 改 如果key重複了. 會替換掉原來的value print(info) info['stu1104'] = 'Lihua' # print(info) info.pop('stu1102') # print(info) del info # 刪除字典

結果:

{'stu1101': 'marry', 'stu1102': 'jack', '
stu1103': 'zou'} jack None {'stu1101': 'zouzou', 'stu1102': 'jack', 'stu1103': 'zou'} {'stu1101': 'zouzou', 'stu1102': 'jack', 'stu1103': 'zou', 'stu1104': 'Lihua'} {'stu1101': 'zouzou', 'stu1103': 'zou', 'stu1104': 'Lihua'}
dic = {"牌牌": "你去哪裡了", "曉雪": "你快回來.", "雪雪": "又走了"}
ret = dic.pop("曉雪")  # 刪除一個元素.返回這個元素的value值
print(ret)

結果:

你快回來.
info = {'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
print(info)
b = {'stu1102': 'time', 1: 3, '1108': 'data'}
info.update(b)  # 兩個字典合併,有的會覆蓋,沒有的新增到裡面
print(info)
print(info.items())  # 將字典轉換為列表

結果:

{'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
{'stu1101': 'marry', 'stu1102': 'time', 'stu1103': 'zou', 1: 3, '1108': 'data'}
dict_items([('stu1101', 'marry'), ('stu1102', 'time'), ('stu1103', 'zou'), (1, 3), ('1108', 'data')])

字典的常用方法

  • keys() 返回所有字典的key的集合(高仿列表)
  • values() 返回所有的value的集合
  • items() 返回鍵值對. 元組
info = {'stu1101': 'marry', 'stu1102': 'jack', 'stu1103': 'zou'}
for i in info:  # 直接迴圈字典.拿到的是key
    #    print(i)  #只打印key值
    print(i, info[i])

結果:

stu1101 marry
stu1102 jack
stu1103 zou
dic = {"及時雨": "宋江", "易大師": "劍聖", "維恩": "暗影獵手"}
print(dic.keys())  # 拿到所有的key, 返回key的集合. 像是列表. 但是不是列表
for key in dic.keys():  # 可以進行迭代迴圈
    print(key)

結果:

dict_keys(['及時雨', '易大師', '維恩'])
及時雨
易大師
維恩
dic = {"及時雨": "宋江", "易大師": "劍聖", "維恩": "暗影獵手"}
print(dic.values())
for value in dic.values():
    print(value)

結果:

dict_values(['宋江', '劍聖', '暗影獵手'])
宋江
劍聖
暗影獵手
dic = {"及時雨": "宋江", "易大師": "劍聖", "維恩": "暗影獵手"}

print(dic.items())  # 拿到鍵值對
# 遍歷dict
for k, v in dic.items():
    # k,v=item() 解包
    print(k, v)

結果:

dict_items([('及時雨', '宋江'), ('易大師', '劍聖'), ('維恩', '暗影獵手')])
及時雨 宋江
易大師 劍聖
維恩 暗影獵手