# 字典:Python中非常重要的的数据类型,在python中唯一一个映射的数据类型
# 分为可变与不可变两种类型
# 不可变数据类型: int str bool tuple
# 可变数据类型:list,dict set
# 字典 :key:value
# key是唯一的,且是不可变数据类型
# value:任意数据类型
# 在3.4版本之前,字典是无序的,在3.6之后有序。
# 可以存放大量的数据类型,且关联性强
# dic={'name':'alex',
# 'name_list':['小黑','二哈','uzi'],
# 1:{'name':'taibai'},
# (1,2,3):'wusir',
# True:'真的',
# 'age':'2134,12'}
# print(dic)
# dic={'name':'jin','age':18,'sex':'male'}
# 增加 两种办法
# dic['name2']='二哈'
#如果存在替换
# dic['name']='哈二'
# print(dic)
# setdefault(d,k) k默认不写是None,有key 不改变,没有则增加
# dic.setdefault('honny','女')
# print(dic)
# 删除 三种办法
# pop 按key进行删除,有返回值,如果没有key,可设置返回值
# ret=dic.pop('sex1','没有此键')
# print(ret)
# 清空 clear()
# dic.clear()
# print(dic)
# del 删除字典,删除键值对
# del dic
# print(dic)
# del dic['name']
# print(dic)
# popitem() 随机删除
# ret=dic.popitem()
# print(ret)
# print(dic)
# 修改 两种方法
#有key就覆盖,没有key就增加
# dic['key']=value
# update 将 dic的键值对覆盖添加到dic2中,dic不变
# dic={'name':'jin','age':18,'sex':'male'}
# dic2={'name':'alex','weight':18}
# dic2.update(dic)
# print(dic2)
# 查找 三种
# dic = {'name': 'jin', 'age': 18, 'sex': 'male'}
# print(dic['name'])
# 没有键则报错
# print(dic['name2'])
# 设置返回值,没有键则返回None,或设置返回信息
# print(dic.get('name1','查无此键'))
# a,b=1,2
# print(a,b)
# a,b=b,a
# print(a,b)
# a,b=['alex','wusir']
# print(a,b)
dic = {'name': 'jin', 'age': 18, 'sex': 'male'}
# 键 key
# keys=dic.keys()
# print(keys,type(keys))
# k=list(keys)
# print(k,type(k))
# 值 values
# values=dic.values()
# print(values,type(values))
# k=list(values)
# print(k,type(k))
# 键、值
# items=dic.items()
# print(items,type(items))
# k=list(items)
# print(k,type(k))
# 键
# for k in dic:
# print(k)
# 键
# for k in dic.keys():
# print(k)
# 值
# for k in dic.values():
# print(k)
# 键,值
# for k in dic.items():
# print(k)
# 1.键,值,变量接收
# for k,v in dic.items():
# print(k,v)
# 2.键,值,变量接收
# for k in dic:
# print(k,dic[k])