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([('及时雨', '宋江'), ('易大师', '剑圣'), ('维恩', '暗影猎手')])
及时雨 宋江
易大师 剑圣
维恩 暗影猎手
原文地址:https://www.cnblogs.com/zouzou-busy/p/12994905.html