# 字典相关的代码
#
# 1、字典的特性:a 字典的无序性; b 数据关联性强 C 键键值对 唯一一个映射数据类型
# 字典的键必修二是可哈希的(不可变的数据类型:,字符串,数字的,布尔值,元祖)
# 并且是唯一的
# 不可哈希的(可变的数据:列表,字典,set 集合)
# 例子 ,
# dic = {'name':'aima','age':43}
# 2 增加
# a、 增加 dic ['k'] = v 直接可覆盖 dic['name'] = 'wangyan'
# b 、dic.sedefault ('k') 有键值对不做任何改变,没有键值对才添加
# dic = {'name':'aima','age':43,'sex':'men'}
# dic['name'] = 'wangyan'
# print(dic)
# dic.setdefault('goodmen','wangyan')
# print(dic)
# 有键值 不做任何反应还是原来的字典 ,没有的就添加新的

# 3 、删除
# a .pop() 删除一个键 就删除一个组
# dic.pop('name')
# print(dic)

压栈思想 .pop() 默认返回最后一个值
l = [1,2,3,4,5]
l1 = l.pop()
print(l1)
5 

# b 、del 直接删除k 键
# del dic['age']
# print(dic)
# dic = {'name':'aima','age':43,'sex':'men'}
# 4 改
# a 和第一种增加一样 覆盖
#
# dic['name'] = 'luodan'
# print(dic)
# b .update()
# dic1 = {'boy':'wangmutian'}
# dic .update(dic1)
# print(dic)
# {'name': 'aima', 'age': 43, 'sex': 'men', 'boy': 'wangmutian'}
# 5 查 直接打印k 就能得到V的值 但是如果没有k键 就会报错 提示None
# a 直接打印k
#
# for key in dic:
# print(key)
#
# name
# age
# sex

# b for i in dic.keys():
# for i in dic.keys():
# print(i)

# 6重要的格式 一定要记住!!!!!!!!!
# dic = {'name':'aima','age':43,'sex':'men'}
# for key,value in dic.items():
# print(key,value)
#
# name aima
# age 43
# sex men
#
# dic = {'name':'aima','age':43,'sex':'men'}
# 7列表变成字典 如果后边有1 ,就是值 否则[]里面都是k 值
# 分别给键对值


# dic = dict.fromkeys(['22',(1,2),'wangyan','zhang'],'kk')
# print(dic
# {'22': 'kk', (1, 2): 'kk', 'wangyan': 'kk', 'zhang': 'kk'}
# 固定格式 一定的是
# dic = dict.fromkeys()