字典
字典(dict)是python中唯一的一个映射类型.他是以{ }括起来的键值对组成. 在dict中key是
唯一的。
字典的键可以的类型:int,str,tuple,bool (是不可变的类型)(可哈希的)
字典的键不可以的类型: list,dict,set (是可变的类型) (不可哈希的)
字典的值没有要求,可以保存任意类型的数据
字典的增删改查
1.增加
dic = {}
dic ['name']='周润发' # 如果dict中没有出现这个key,就会增加一个key-value的组合
dic.setdefault('age',18) # 如果在字典中存在就不进行任何操作,不存在就添加
dic.setdefault('age',20) # 不发生任何变化
2.删除
字典没有remove删除的方法
字典删除方法pop,del,clear
dic.pop() # 指定删除键值,返回的是被删除的值,如果指定删除的key不存在,则报错
del dic[] #删除指定的key
dic.clear() # 清空字典中的所有内容
dic.popitem() # 随机删除,返回值 一个元组(key,value)
3.修改
dic['name]='raccoon'
dic1 = {'name':'little','sex':'男'}
dic.update(dic1) #把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存在key, 则新增
4.查找
for i in dic:
print(i) # 默认获取的是字典的键
dic['name'] # 获取值,若键不存在,则会报错
dic.get['name'] # 获取值,若键不存在返回None
dic.get['sss','没有这个键'] # 可以设置默认返回值,若没有键则返回你默认设定的,有则返回值
5.其他操作(字典独特的方法)
dic.keys() # 获取所有的键 得到的是高仿的列表 可以用for循环迭代,获取字典中每一个键
dic.values() # 获取所有的值 得到的是高仿的列表 可以用for循环迭代,获取字典中每一个值
dic.items() # 获取所有的键和值 得到的是高仿的元组 可以用for循环迭代,获取字典中每一个键和值
解构(解包)
a,b = (1,2) # 将后面结构打开按位置赋值给变量 支持字符串,列表,元组
print(a) # 1
print(b) # 2
for a,b in dic.items():
print(a) # 得键
print(b) # 得值
6.字典的嵌套
dic = {
'name':'汪峰',
'age':'44',
'wife':{
'name':'章子怡',
'age':'40'
},
'children':['第一个孩子','第二个孩子']
}
print(dic.get('wife').get('name'))
print(dic.get('children')[1])