字典的操作(增删改查)

#_author:star#date:2019/10/26# 字典# 不可变类型:整形,字符串,元组# 可变类型:字典,列表#字典两个特点:无序,键唯一a=10print(id(a))#1351629200b=aprint(id(b))#1351629200b=15print(id(b))#1351629280print(a,b)# 10 15#字典的创建方式一dic={‘name‘:‘star‘,2:‘girl‘,‘age‘:22,‘hobby‘:{‘girl_name‘:‘angle‘,‘age‘:22,‘sex‘:‘female‘},‘sex‘:‘male‘}print(dic)# {‘name‘: ‘star‘, 2: ‘girl‘, ‘age‘: 22, ‘hobby‘: {‘girl_name‘: ‘angle‘, ‘age‘: 22, ‘sex‘: ‘female‘}, ‘sex‘: ‘male‘}print(dic[‘hobby‘])#{‘girl_name‘: ‘angle‘, ‘age‘: 22, ‘sex‘: ‘female‘}

#字典的创建方式二c=dict([("name","star"),])print(c)#{‘name‘: ‘star‘}d=dict(((‘age‘,36),))#注意,如果内部全部是(),记得加逗号print(d)#{‘age‘: 36}

#字典的操作:1.增dic={‘name‘:‘tong‘,‘age‘:22}dic[‘hobby‘]=‘girl‘print(dic)#{‘name‘: ‘tong‘, ‘age‘: 22, ‘hobby‘: ‘girl‘}dic.setdefault(‘age‘,23)tr=dic.setdefault(‘age‘,23)#setdefault是有返回值的,返回值是(键存在,不改动,返回字典中相应的键对应的值)print(tr)#22print(dic)# {‘name‘: ‘tong‘, ‘age‘: 22, ‘hobby‘: ‘girl‘}dic.setdefault(‘interest‘,‘coding‘)tr1=dic.setdefault(‘interest‘,‘coding‘)#键不存在,在字典中增加新的键值对,并返回相应的值print(tr1)#codingprint(dic)# {‘name‘: ‘tong‘, ‘age‘: 22, ‘hobby‘: ‘girl‘, ‘interest‘: ‘coding‘}#2.查---通过键去查找dic2={‘name‘:‘star‘,2:‘girl‘,‘age‘:22,‘hobby‘:{‘girl_name‘:‘angle‘,‘age‘:22,‘sex‘:‘female‘},‘sex‘:‘male‘}print(dic2[‘age‘])#22print(dic2.keys())#dict_keys([‘name‘, 2, ‘age‘, ‘hobby‘, ‘sex‘])print(type(dic2.keys()))#<class ‘dict_keys‘>#想要拿到一个列表,转换print(list(dic2.keys()))#[‘name‘, 2, ‘age‘, ‘hobby‘, ‘sex‘]print(dic2.values())#dict_values([‘star‘, ‘girl‘, 22, {‘girl_name‘: ‘angle‘, ‘age‘: 22, ‘sex‘: ‘female‘}, ‘male‘])print(list(dic2.values()))#[‘star‘, ‘girl‘, 22, {‘girl_name‘: ‘angle‘, ‘age‘: 22, ‘sex‘: ‘female‘}, ‘male‘]print(dic2.items())#dict_items([(‘name‘, ‘star‘), (2, ‘girl‘), (‘age‘, 22), (‘hobby‘, {‘girl_name‘: ‘angle‘, ‘age‘: 22, ‘sex‘: ‘female‘}), (‘sex‘, ‘male‘)])print(list(dic2.items()))#[(‘name‘, ‘star‘), (2, ‘girl‘), (‘age‘, 22), (‘hobby‘, {‘girl_name‘: ‘angle‘, ‘age‘: 22, ‘sex‘: ‘female‘}), (‘sex‘, ‘male‘)]#3.修改dic3={‘name‘:‘star‘,2:‘girl‘,‘age‘:22,‘sex‘:‘male‘}dic3[‘name‘]=‘xing‘print(dic3)#{‘name‘: ‘xing‘, 2: ‘girl‘, ‘age‘: 22, ‘sex‘: ‘male‘}dic4={1:‘111‘,‘lover‘:‘cake‘}dic3.update(dic4)print(dic3)#{‘name‘: ‘xing‘, 2: ‘girl‘, ‘age‘: 22, ‘sex‘: ‘male‘, 1: ‘111‘, ‘lover‘: ‘cake‘}dic5={‘name‘:‘lai‘}#将原来的值替换dic3.update(dic5)print(dic3)#{‘name‘: ‘lai‘, 2: ‘girl‘, ‘age‘: 22, ‘sex‘: ‘male‘, 1: ‘111‘, ‘lover‘: ‘cake‘}#4.删dic6={‘name‘:‘star‘,2:‘girl‘,‘age‘:22,‘sex‘:‘male‘}del dic6[‘name‘]#删除字典中指定键值对print(dic6)#{2: ‘girl‘, ‘age‘: 22, ‘sex‘: ‘male‘}re=dic6.pop(‘sex‘)#删除字典中指定键值对,并返回该键对应的值print(re)print(dic6)#{2: ‘girl‘, ‘age‘: 22}dic6.clear()print(dic6)#{}dic7={‘name1‘:‘star1‘,21:‘girl1‘,‘age1‘:221,‘sex1‘:‘male1‘}re1=dic7.popitem() #随机删除某组键值对print(re1)#(‘sex1‘, ‘male1‘) 并以元组方式返回值print(dic7)#{‘name1‘: ‘star1‘, 21: ‘girl1‘, ‘age1‘: 221}del dic7#删除整个字典#print(dic7)因为字典已经不存在,所以输出报错#5.其他操作以及涉及到的方法#(5-----1)创建字典的第三种方式dic8=dic.fromkeys([‘so1‘,‘so2‘,‘so3‘],‘star‘)print(dic8)#{‘so1‘: ‘star‘, ‘so2‘: ‘star‘, ‘so3‘: ‘star‘}dic8[‘so2‘]=‘ooo‘print(dic8)#{‘so1‘: ‘star‘, ‘so2‘: ‘ooo‘, ‘so3‘: ‘star‘}dic9=dic.fromkeys([‘so1‘,‘so2‘,‘so3‘],[‘star1‘,‘star2‘])print(dic9)#{‘so1‘: [‘star1‘, ‘star2‘], ‘so2‘: [‘star1‘, ‘star2‘], ‘so3‘: [‘star1‘, ‘star2‘]}dic9[‘so2‘][1]=‘star3‘print(dic9)#{‘so1‘: [‘star1‘, ‘star3‘], ‘so2‘: [‘star1‘, ‘star3‘], ‘so3‘: [‘star1‘, ‘star3‘]}dic10={‘name‘:‘star‘,2:‘girl‘,‘age‘:22,‘sex‘:‘male‘}#(copy()r=dic10.copy()print(r)#{‘name‘: ‘star‘, 2: ‘girl‘, ‘age‘: 22, ‘sex‘: ‘male‘}print(dic10)#{‘name‘: ‘star‘, 2: ‘girl‘, ‘age‘: 22, ‘sex‘: ‘male‘}#(5----2)字典嵌套
inf={    ‘asia‘:{‘japon‘:‘height_produce‘,‘chinese‘:‘hand_produce‘,‘singrapo‘:[‘jenry‘,‘port‘]},    ‘america‘:{‘England‘:‘car‘,‘US‘:‘big_car‘,‘gard_man‘:[‘handsome‘,‘kindness‘,‘great‘]},}print(inf[‘asia‘][‘singrapo‘][1])#portprint(inf[‘america‘][‘gard_man‘][2])#great

#(5---3)字典排序s1={2:‘222‘,6:‘666‘,0:‘000‘}print(sorted(s1))#[0, 2, 6]print(sorted(s1.values()))#[‘000‘, ‘222‘, ‘666‘]print(sorted(s1.items()))#[(0, ‘000‘), (2, ‘222‘), (6, ‘666‘)]#(  5--4)  字典的遍历

# for j in s2:#     print(j)#按照键打印name            #          ages2={‘name‘:‘star‘,‘age‘:22}for i in s2:    print(i,s2.get(i))    # name  age    # star  22

s3 = {‘name‘: ‘star‘, ‘age‘: 22}for i in s3:    print(i, s3[i])    # name  age    # star  22

for i,v in enumerate(s3.items(),1):    print(i,v)# 1 (‘name‘, ‘star‘)# 2 (‘age‘, 22)for i,v in s3.items():    print(i,v)    # name star    # age 22

原文地址:https://www.cnblogs.com/startl/p/11742518.html

时间: 2024-11-05 17:22:22

字典的操作(增删改查)的相关文章

Python 集合的各种操作 数学运算 关系操作 增删改查 生成式

# 集合是无序的 是可变的 不能重复 允许数学运算 分散存储 # 创建# collegel = {'哲学','经济学','法学','教育学'}## # {'教育学', '经济学', '法学', '哲学'}# print(collegel)## # set# collegel2 = set(['金融学','哲学','经济学','法学','教育学'])# print(collegel2)## # 使用set创建字符串集合# collegel3 = set('中华人民共和国')# # {'共', '华

Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]

在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一.查询数据集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 //1.该方法是根据一个条件查询一个集合 $admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->f

Python的列表类型操作——“增删改查”,元组——“查”

一.什么是列表 1.列表是一个可变的数据类型,它由[]表示,其中的每一项元素使用","逗号隔开,可以储存各种数据类型.列表相比于字符串,可以存放大量数据类型,其是有序的,有索引,可以使用切片,方便取值. 2.列表的索引的下表也是从0开始的,切出来的内容为列表.[起始位置:结束位置:步长] 二.列表的"增删改查" 1.增加 list相比于str另一个更为方便的是,list可以发生改变,我们可以直接在原来的对象上进行操作 1)append() 在原字符串的末尾添加一个数

Sqlserver 实际开发中常见的数据库操作增删改查----增

注意我说的常见查询,可不是简单到一个表得增删改查,做过实际开发得人都知道,在实际开发中,真正牵扯到一个表得增删改查只能说占很小得一部分,大多都是好几个表的关联操作的. 下面我就说一下我在实际开发中经常用到得一些增删改查方式.(首先我还要说一下,就是我虽然能写,但是我不知道这种查询方式叫什么类型查询,毕竟数据库这块以前都没干过,做.net开发也就一年左右,大家看我写的博客也会知道,以前搞前端U3D游戏开发的,不接触数据库,取数据调后台接口就行了,其他不用管.所以没做.net前,我也就是会大学时候学

django框架学习:12.数据操作增删改查

前言 django的modles模块里可以新增一张表和字段,通常页面的操作都是源于数据库的增删改查,怎样通过django实现数据库的增删改查呢? 数据库新增数据 上一篇我们创建了ke24_user表,将use_name ="liushui",psw ="123456",mail = "[email protected]" 在urls同级目录下创建testdb.py 文件,创建add_user方法如下: 给上面创建的方法在urls.py创建一个访问

Android下数据库操作——增删改查

Android下数据库第一种方式增删改查 1.创建一个帮助类的对象,调用getReadableDatabase方法,返回一个SqliteDatebase对象 2.使用SqliteDatebase对象调用execSql()做增删改,调用rawQuery方法做查询. 特点:增删改没有返回值,不能判断sql语句是否执行成功.sql语句手动写,容易写错 private MySqliteOpenHelper mySqliteOpenHelper;     public InfoDao(Context co

使用JDBC连接MySQL数据库操作增删改查

目录 1.首先这个Myeclipse的包名以及一些实现的类(这样子写是我的习惯) 2.接下来我们创建数据库(MySQL) 3.在数据库里面添加数据 4.首先是BaseDao,这个是重中之重,注意那个数据库的名字,强调所在的包名 5.这个是实体类,我相信大家都会写,注意所在的包名 6.接下来我们写BookingDao 7.下面我们写Servlet 1.查询的Servlet 2.添加的Servlet 3.修改的Servlet 4.删除的Servlet 8.配置web.xml 9.再次写JSP页面 1

Core Data 数据操作 增删改查

所有操作都基于Core Data框架相关 API,工程需要添加CoreData.framework支持 1.增  NSEntityDescription insertNewObjectForEntityForName: inManagedObjectContext: 利用NSEntityDescription工厂方法创建Entity AppDelegate *appDelegate = [UIApplication sharedApplication].delegate; //get NSMan

Sqlserver 实际开发中常见的数据库操作增删改查----删

--我们就以院系,班级,学生来举例. create TABLE [dbo].YuanXi ( Id int IDENTITY(1,1) NOT NULL,--学校id 自增量 YuanXiName varchar(50) null, --院系名字 ) create TABLE [dbo].Class ( Id int IDENTITY(1,1) NOT NULL,--班级id 自增量 YuanXiID int null,--院系id ClassName varchar(50) null --班级

Sqlserver 实际开发中常见的数据库操作增删改查----改

--我们就以院系,班级,学生来举例. create TABLE [dbo].YuanXi ( Id int IDENTITY(1,1) NOT NULL,--学校id 自增量 YuanXiName varchar(50) null, --院系名字 ) create TABLE [dbo].Class ( Id int IDENTITY(1,1) NOT NULL,--班级id 自增量 YuanXiID int null,--院系id ClassName varchar(50) null --班级