字典的操作(增删改查)

字典的操作(增删改查)

#_author:star<br></br>#date:2019/10/26<br></br># 字典<br></br># 不可变类型:整形,字符串,元组<br></br># 可变类型:字典,列表<br></br>#字典两个特点:无序,键唯一<br></br>a=10<br></br>print(id(a))#1351629200<br></br>b=a<br></br>print(id(b))#1351629200<br></br>b=15<br></br>print(id(b))#1351629280<br></br>print(a,b)# 10 15<br></br>#字典的创建方式一<br></br>dic={'name':'star',2:'girl','age':22,'hobby':{'girl_name':'angle','age':22,'sex':'female'},'sex':'male'}<br></br>print(dic)# {'name': 'star', 2: 'girl', 'age': 22, 'hobby': {'girl_name': 'angle', 'age': 22, 'sex': 'female'}, 'sex': 'male'}<br></br>print(dic['hobby'])#{'girl_name': 'angle', 'age': 22, 'sex': 'female'}<br></br><br></br>#字典的创建方式二<br></br>c=dict([("name","star"),])<br></br>print(c)#{'name': 'star'}<br></br>d=dict((('age',36),))#注意,如果内部全部是(),记得加逗号<br></br>print(d)#{'age': 36}<br></br><br></br>#字典的操作:1.增<br></br>dic={'name':'tong','age':22}<br></br>dic['hobby']='girl'<br></br>print(dic)#{'name': 'tong', 'age': 22, 'hobby': 'girl'}<br></br>dic.setdefault('age',23)<br></br>tr=dic.setdefault('age',23)#setdefault是有返回值的,返回值是(键存在,不改动,返回字典中相应的键对应的值)<br></br>print(tr)#22<br></br>print(dic)# {'name': 'tong', 'age': 22, 'hobby': 'girl'}<br></br>dic.setdefault('interest','coding')<br></br>tr1=dic.setdefault('interest','coding')#键不存在,在字典中增加新的键值对,并返回相应的值<br></br>print(tr1)#coding<br></br>print(dic)# {'name': 'tong', 'age': 22, 'hobby': 'girl', 'interest': 'coding'}<br></br>#2.查---通过键去查找<br></br>dic2={'name':'star',2:'girl','age':22,'hobby':{'girl_name':'angle','age':22,'sex':'female'},'sex':'male'}<br></br>print(dic2['age'])#22<br></br>print(dic2.keys())#dict_keys(['name', 2, 'age', 'hobby', 'sex'])<br></br>print(type(dic2.keys()))#<class 'dict_keys'><br></br>#想要拿到一个列表,转换<br></br>print(list(dic2.keys()))#['name', 2, 'age', 'hobby', 'sex']<br></br>print(dic2.values())#dict_values(['star', 'girl', 22, {'girl_name': 'angle', 'age': 22, 'sex': 'female'}, 'male'])<br></br>print(list(dic2.values()))#['star', 'girl', 22, {'girl_name': 'angle', 'age': 22, 'sex': 'female'}, 'male']<br></br>print(dic2.items())#dict_items([('name', 'star'), (2, 'girl'), ('age', 22), ('hobby', {'girl_name': 'angle', 'age': 22, 'sex': 'female'}), ('sex', 'male')])<br></br>print(list(dic2.items()))#[('name', 'star'), (2, 'girl'), ('age', 22), ('hobby', {'girl_name': 'angle', 'age': 22, 'sex': 'female'}), ('sex', 'male')]<br></br>#3.修改<br></br>dic3={'name':'star',2:'girl','age':22,'sex':'male'}<br></br>dic3['name']='xing'<br></br>print(dic3)#{'name': 'xing', 2: 'girl', 'age': 22, 'sex': 'male'}<br></br>dic4={1:'111','lover':'cake'}<br></br>dic3.update(dic4)<br></br>print(dic3)#{'name': 'xing', 2: 'girl', 'age': 22, 'sex': 'male', 1: '111', 'lover': 'cake'}<br></br>dic5={'name':'lai'}#将原来的值替换<br></br>dic3.update(dic5)<br></br>print(dic3)#{'name': 'lai', 2: 'girl', 'age': 22, 'sex': 'male', 1: '111', 'lover': 'cake'}<br></br>#4.删<br></br>dic6={'name':'star',2:'girl','age':22,'sex':'male'}<br></br>del dic6['name']#删除字典中指定键值对<br></br>print(dic6)#{2: 'girl', 'age': 22, 'sex': 'male'}<br></br>re=dic6.pop('sex')#删除字典中指定键值对,并返回该键对应的值<br></br>print(re)<br></br>print(dic6)#{2: 'girl', 'age': 22}<br></br>dic6.clear()<br></br>print(dic6)#{}<br></br>dic7={'name1':'star1',21:'girl1','age1':221,'sex1':'male1'}<br></br>re1=dic7.popitem() #随机删除某组键值对<br></br>print(re1)#('sex1', 'male1') 并以元组方式返回值<br></br>print(dic7)#{'name1': 'star1', 21: 'girl1', 'age1': 221}<br></br>del dic7#删除整个字典<br></br>#print(dic7)因为字典已经不存在,所以输出报错<br></br>#5.其他操作以及涉及到的方法<br></br>#(5-----1)创建字典的第三种方式<br></br>dic8=dic.fromkeys(['so1','so2','so3'],'star')<br></br>print(dic8)#{'so1': 'star', 'so2': 'star', 'so3': 'star'}<br></br>dic8['so2']='ooo'<br></br>print(dic8)#{'so1': 'star', 'so2': 'ooo', 'so3': 'star'}<br></br>dic9=dic.fromkeys(['so1','so2','so3'],['star1','star2'])<br></br>print(dic9)#{'so1': ['star1', 'star2'], 'so2': ['star1', 'star2'], 'so3': ['star1', 'star2']}<br></br>dic9['so2'][1]='star3'<br></br>print(dic9)#{'so1': ['star1', 'star3'], 'so2': ['star1', 'star3'], 'so3': ['star1', 'star3']}<br></br>dic10={'name':'star',2:'girl','age':22,'sex':'male'}<br></br>#(copy()<br></br>r=dic10.copy()<br></br>print(r)#{'name': 'star', 2: 'girl', 'age': 22, 'sex': 'male'}<br></br>print(dic10)#{'name': 'star', 2: 'girl', 'age': 22, 'sex': 'male'}<br></br>#(5----2)字典嵌套
inf={<br></br>    'asia':{'japon':'height_produce','chinese':'hand_produce','singrapo':['jenry','port']},<br></br>    'america':{'England':'car','US':'big_car','gard_man':['handsome','kindness','great']},<br></br>}<br></br>print(inf['asia']['singrapo'][1])#port<br></br>print(inf['america']['gard_man'][2])#great
<br></br><br></br>#(5---3)字典排序<br></br>s1={2:'222',6:'666',0:'000'}<br></br>print(sorted(s1))#[0, 2, 6]<br></br>print(sorted(s1.values()))#['000', '222', '666']<br></br>print(sorted(s1.items()))#[(0, '000'), (2, '222'), (6, '666')]<br></br>#(  5--4)  字典的遍历<br></br><br></br># for j in s2:<br></br>#     print(j)#按照键打印name<br></br>            #          age<br></br>s2={'name':'star','age':22}<br></br>for i in s2:<br></br>    print(i,s2.get(i))<br></br>    # name  age<br></br>    # star  22<br></br><br></br><br></br>s3 = {'name': 'star', 'age': 22}<br></br>for i in s3:<br></br>    print(i, s3[i])<br></br>    # name  age<br></br>    # star  22<br></br><br></br>for i,v in enumerate(s3.items(),1):<br></br>    print(i,v)<br></br># 1 ('name', 'star')<br></br># 2 ('age', 22)<br></br>for i,v in s3.items():<br></br>    print(i,v)<br></br>    # name star<br></br>    # age 22<br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br>

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。