# 创建字典
# 使用{ }
语法:{key1:v1,k2:v2,k3:v3...}
# 使用 dict()
#
d = dict( name= '孙悟空',age = '18' , gender = '男' ) #每一个参数都是一个键值对,参数名就是键,参数就是值(这种方式创建的字典,key都是字符串)
# 也可以将一个包含有双值 子序列的序列转换为字典
双值序列 :序列中只有两个值 ,[1,2] ;(‘a’,3);'ab'
子序列:如果序列中的元素也是序列,那么我们就称这个元素为子序列 [(1,2),(3,5)]
d = dict([('name','孙悟饭'),(‘age’,18)])
print(d , type(d))
# len() 获取字典中键值对的个数
print(len(d))
# in 检查字典中是否包含指定的键
# not in 检查字典中是否不包含指定的键
prrint('hello', in d)
# 获取字典中的值 ,根据健来获取值
语法 : d['key']
print(d['age'])
n = 'name '
print(d[n])
# 通过[ ] 来获取值 时,如果键不存在,会抛出异常 keyerror
# get(key[, default]) 该方法用来根据键来获取字典中的值
# 如果获取的键在字典中不存在,会返回None
# 也可以指定一个默认值,来作为第二个参数,这样获取不到的值时将会返回默认值
print(d.get('hello','默认值'))
# 修改字典
d[key] = value 如果key存在则覆盖,不存在则添加
d['name '] = 'sunwukong' #修改字典的key-value
d['address'] = '花果山' # 向字典中添加key-value
# setdefault(key[, default]) 可以用来向字典中添加key-value
# 如果key已经存在于字典中,则返回字典中key的值 ,不会对字典做任何操作
如果key不存在,则向字典中添加 这个key,并设置value
result = d.setdefault ('name', '猪八戒')
result = d.setdefault('hello','猪八戒')
print('result = ', result)
print(d)
# update([other]) 将其他字典中的key-value添加到当前字典中,如果有重复的key,则后边的会替换当前的
d = {'a':1, 'b':2, 'c':3}
d2 = {'d':4, 'e':5, 'f':6}
d.update(d2)
print(d)