# 字典是一种可变容器类型,可存储任意类型对象
# 字典以键值对存储数据,key-value形式,键值之间使用冒号:分隔,每个键值中间用逗号,分隔
# 字典包含在大括号,花括号{}中
# python中键必须是不可变的,但值可取任何数据类型
# 元组可以作为 dict 的 key,但列表不能作为元组的 key,dict 要求 key 必须是不可变类型,但列表是可变类型
dic = {"key1":"value1","key2":"value2"}
print(dic)
print(type(dic))
# 创建字典
# 创建一个空的字典
b = {}
print(b)
print(type(b))
# 直接赋值创建
a = {"name":"Tom","age":19,"area":"shanghai",123:456}
print(a)
print(type(a))
# 通过关键字dict和关键字参数创建
c = dict(aa="bb",bb="你好",cc="acc")
print(c)
# 通过关键字dict和二元组列表创建
list = [('name',"Tom"),('age',20),('area', "shanghai")]
d = dict(list)
print(d)
# 通过字典推导式创建
f = {i:2+i for i in range(1,5)}
print(f)
# 通过关键字dict和zip结合创建
e = dict(zip('ab', [1, 2]))
print(e)
# 通过dict.fromkeys()创建
# 这个通常用来初始化字典, 设置value的默认值
g = dict.fromkeys(range(5), 'v')
print(g)
创建字典
# 字典中键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一
abc = {"ab":"11","ac":"22","ad":"33","ab":"55"}
print(abc)
print(type(abc))
唯一键值
# 字典的访问
# 访问字典中的数据:字典是键值对,访问的时候根据key进行访问操作
# a[key]
# a.get(key)
# 使用方括号访问字典,key必须是存在,如果不存在,程序会报异常
print(a["name"])
# 使用get访问,key不存在,会返回None,空的意思
print(a.get("age"))