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([('及时雨', '宋江'), ('易大师', '剑圣'), ('维恩', '暗影猎手')]) 及时雨 宋江 易大师 剑圣 维恩 暗影猎手