Python----字典的增删改查以及嵌套

#字典
#基础数据类型之一,{}以键值对的形式存储数据。
# dic={'name':'Laonanhai',
# 'age':45,
# 'name_list':['反面教材','俊俊',....]
# }
# 以key:value形式,映射,存储的大量的关系型数据。
# 数据类型的分类:
# 可变(不可哈希hash):list,dict,set,list=[11,222,333]
# 不可变(可哈希hash):str,tuple,int,bool name='alex'
# 容器类:
# 容器类的数据类型:list ,tuple, dict, l1=[11,True,'alex',[22,33,44]]
# 非容器类的数据类型:str ,int, bool. s1='[11,22,33]'
# 字典的key必须是不可变的数据类型,是唯一的,
# hash算法:字典的键通过hash表转化成数字,采用二分查找查询数字
# 字典的value可以是任意数据类型
# 字典的查询速度非常快,存储的大量的关系型数据
# 字典在python3.5包含3.5之前都是无序,但3.6之后是有序的
#键唯一
# dic={
# 'name':'alex',#当有两个的时候自动覆盖
# 'name':'WuSir',
# }
# print(dic)
#键必须是不可变的可哈希的数据类型
# dic={'name':'老男孩','age':'56','hobby':'women'}
#增
# dic['sex']='LaddyBoy'
# dic['name']='Alex' #有则覆盖,没有就添加
# dic.setdefault('sex','Laddyboy') #有则不变,无则添加。
# dic.setdefault('name','alex')
# print(dic)

#删
# print(dic.pop('age')) #有返回值,返回的是键对应的值
# print(dic.pop('age1','没有此键....'))#可以对返回值进行重新赋值操作
# print(dic)

# dic.clear()#清空字典
# print(dic)

# print(dic.popitem())#随机删除,有返回值,返回值为元组,里面是 删除的键值对
# print(dic)

#del
#1,删除整个字典
# del dic #删除以后的字典不存在,如果再次打印会报错
# print(dic)
#2,按照键删除键值对
# del dic['name']
# print(dic)

#改
# dic['name']='Alex' #有则覆盖,没有就添加
# #update 两个字典的更新
# dic={'name':'jin','age':18,'sex':'male'}
# dic2={'name':'alex','weight':75}
# dic2.update(dic) #将dic里面的所有键值对,覆盖添加到dic2中,dic不变
# print(dic) #{'name': 'jin', 'age': 18, 'sex': 'male'}
# print(dic2) #{'age': 18, 'name': 'jin', 'weight': 75, 'sex': 'male'}

#查
#1,dic['name']
# print(dic['name'])
#
# #2.dic.get('name')
# print(dic.get('name'))
# print(dic.get('name1')) #在使用get查询没有时会返回none 可以对他进行操作
# print(dic.get('name1','sb没有此键'))

#for循环查询
#dic.key(), dic.values(), dic.items() #类似于list但不是list的类型。
# print(dic.keys(),type(dic.keys()))
# for key in dic.keys():
# print(key)
# l_key=list(dic.keys())
# print(l_key)
# for value in dic.values():
# print(value)
# l_value=list(dic.values())
# print(l_value)
# print(dic.items())

#分别赋值概念
# a,b=1,2
# c,d=('alex','34')
# e,f=['alex','34']
#有如下a=1 b=3,用一行代码将a,b值互换。
# a=1
# b=3
# a,b=b,a
# print(a,b)
# print(dic.items())
#
# for i in [22,33,44]:
# print(i)
# for i in [(11,22),(33,44),(55,66)]:
# print(i)
# # k,v=('name','老男孩')
# for k,v in dic.items():
# print(k,v)

#字典的嵌套
dic = {
'name_list':['碗蓉','俊俊','爽妹'],
'status':None,
'personal_msg':{
'name':'反面教材',
'age':25,
'hobby_list':['抽烟','喝酒','烫头'],
}

}
# 1,给dic添加一个键值对,学校:老男孩
# dic['学校']='老男孩'
# print(dic)
# 2,将status对应的值改成True
#第一种方法:
# dic3={'status':'True'}
# dic.update(dic3)
# #第二种方法:
# # dic['status']='True'
# print(dic)
# 3,给name_list对应的列表追加一个元素:平平
# dic['name_list'].append('平平')
# print(dic)
# 4,给personal_msg对应的字典添加一个键值对sex:男
# dic['personal_msg']['esx']='男'
# print(dic)
# 5,将hobby_list 对应的列表中的烫头改成唱歌。
dic['personal_msg']['hobby_list'][-1]='唱歌'
print(dic)







猜你喜欢

转载自www.cnblogs.com/weilaixiaochaoren/p/8987029.html