# 字典 用大括号{} 括起来. 内部使用key:value的形式来保存数据
#     {'静夜思': '李白', '登高': '杜甫'}
# 注意：1. 字典的key必须是可哈希的，不可变的；value没有限制
#      2. 不是按照我们保存的顺序保存的，无序的


# 例题1：
# dic = {'静夜思': '李白', '登高': '杜甫'}
# print(dic)
# print(type(dic))

# dic = {1: '马化腾', '1': '马云', False: '张三', ['1', '2']: '李四'}
# dic = {1: '马化腾', '1': '马云', False: '张三', ('1', '2'): '李四'}
# print(dic)

# 例题2：增加
# dic = {'静夜思': '李白'}
# dic['登高'] = '杜甫'
# dic['登高'] = '白居易'  # 如果key重复了，会替换掉原来的value
# # dic('登高') = '杜甫' # 不要用圆括号
# print(dic)

# dic = {'静夜思': '李白'}
# dic.setdefault('登高', '杜甫')
# print(dic)
# dic.setdefault('登高', '白居易')
# print(dic)

# 例题3：删除
# dic = {'李白': '你去哪里了', '杜甫': '你快回来', '白居易': '又走了'}
# ret = dic.pop('杜甫') # 删除一个元素，返回这个元素的value值
# print(ret)
# print(dic)

# dic = {'李白': '你去哪里了', '杜甫': '你快回来', '白居易': '又走了'}
# ret = dic.pop('杜牧') # 没有这个key，报错
# print(ret)
# print(dic)

# dic = {'李白': '你去哪里了', '杜甫': '你快回来', '白居易': '又走了'}
# ret = dic.popitem() # 返回给你的是一个元组
# print(ret)
# print(dic)

# dic = {'李白': '你去哪里了', '杜甫': '你快回来', '白居易': '又走了'}
# del dic['杜甫']
# print(dic)

# dic = {'李白': '你去哪里了', '杜甫': '你快回来', '白居易': '又走了'}
# del dic['杜牧']
# print(dic)

# 例题4：修改
# dic = {'id': 1, 'name': '马云', 'money': 10000000}
# dic['money'] = dic['money'] + 500
# print(dic)


# dic1 = {'静夜思': '李白', '登高': '杜甫', '长恨歌': '白居易'}
# dic2 = {'琵琶行': '白居易', '静夜思': '杜甫', '无题': '李商隐'}
# 字典的拼接
# dic2.update(dic1) # 把dic2中的内容更新到dic1。如果存在了key，替换；如果不存在，添加
# print(dic2)

# dic1.update(dic2)
# print(dic1)

# 例题5：查询
# dic = {'静夜思': '李白', '登高': '杜甫', '长恨歌': '白居易'}
# data = dic['登高'] # 查询，如果key不存在，报错
# print(data)

# dic = {'静夜思': '李白', '登高': '杜甫', '长恨歌': '白居易'}
# data = dic['无题']
# print(data)

# dic = {'静夜思': '李白', '登高': '杜甫', '长恨歌': '白居易'}
# data = dic.get('登高') # 查询，如果key不存在，返回None
# print(data)

# dic = {'静夜思': '李白', '登高': '杜甫', '长恨歌': '白居易'}
# data = dic.get('无题')
# print(data)

# dic = {'静夜思': '李白', '登高': '杜甫', '长恨歌': '白居易'}
# data = dic.get('无题', '李商隐')  # 查询，如果key不存在，返回第2个参数
# print(data)
