python学习-字典的增删改查

1 dic1 = {‘name‘:‘paoche‘,
2         ‘age‘:19,
3         ‘active‘:[‘beijing‘,‘hebei‘],
4         ‘id‘:{‘wangyi‘:‘skmdod008b‘,
5               ‘sina‘:‘skmdod00bc‘
6               }
7         }

一、字典的增

方法1:直接新增键值对,若无此键则新增键值对,有此键则修改值

1 dic1[‘high‘] = 180      #没有键值对,则追加
2 dic1[‘age‘] = 30        #有键值,则修改
3 print(dic1)
4 """
5 结果为:
6 {‘name‘: ‘paoche‘, ‘age‘: 19, ‘active‘: [‘beijing‘, ‘hebei‘], ‘id‘: {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}}
7 {‘name‘: ‘paoche‘, ‘age‘: 30, ‘active‘: [‘beijing‘, ‘hebei‘], ‘id‘: {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}, ‘high‘: 180}
8 """

方法2:通过 setdefault()方法,若无此键则新增键值对,有此键则不做任何操作

1 dic1.setdefault(‘weight‘,185)           #没有键值对,则追加
2 dic1.setdefault(‘name‘,‘xiaobai‘)       #有键值,则不做任何操作
3 print(dic1)
4 """
5 结果为:
6 {‘name‘: ‘paoche‘, ‘age‘: 19, ‘active‘: [‘beijing‘, ‘hebei‘], ‘id‘: {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}, ‘weight‘: 185}
7 """

二、字典的删

方法1:使用 pop() 方法,按键删除,返回被删除的键值对中的值,没有对应的键则报错,可以设置没有键时返回的值

1 print(dic1.pop(‘id‘))           #按键删除,返回被删除的键值对中的值,没有对应的键则报错
2 print(dic1.pop(‘id‘,None))      #按键删除,若没有该键,则返回指定的值,一般返回None,也可以是任意内容
3 print(dic1)
4 """
5 结果为:
6 {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}
7 None
8 {‘name‘: ‘paoche‘, ‘age‘: 19, ‘active‘: [‘beijing‘, ‘hebei‘]}
9 """

方法2:使用 popitem() 方法,随机删除键值对,返回被删除键值组成的元组

1 print(dic1.popitem())       #随机删除,返回被删键值组成的元组
2 """
3 结果为:
4 (‘id‘, {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘})
5 """

方法3:使用 clear() 方法,清空字典,返回值为None

1 print(dic1.clear())     #返回None
2 print(dic1)
3 """
4 结果为:
5 None
6 {}
7 """

方法4:使用del,删除指定的键值对(没有键则报错),或者删除整个字典

1 del dic1[‘id‘]
2 print(dic1)
3 del dic1
4 """
5 结果为:
6 {‘name‘: ‘paoche‘, ‘age‘: 19, ‘active‘: [‘beijing‘, ‘hebei‘]}
7 """

三、字典的改

方法1:通过键,直接改值

1 dic1[‘age‘] = 30

方法2:使用 update() 方法

 1 dic2 = {
 2     ‘name‘:‘paoche‘,
 3     ‘age‘:19
 4 }
 5 dic3 = {
 6     ‘age‘:30,
 7     ‘weight‘:180
 8 }
 9 dic2.update(dic3)    #将dic3中的数据更新dic2,有则修改,没有则新加
10 print(dic2)
11 """
12 结果为:
13 {‘name‘: ‘paoche‘, ‘age‘: 30, ‘weight‘: 180}
14 """

四、字典的查

方法1:直接通过键查询值,没有该键则报错

1 print(dic1[‘age‘])
2 ‘‘‘
3 结果为:
4 19
5 ‘‘‘

方法2:使用 get() 方法查询键对应的值,返回值,没有该键则返回None,可设置返回值

1 print(dic1.get(‘age‘))
2 print(dic1.get(‘age1‘))
3 print(dic1.get(‘age1‘,‘没有对应的键‘))
4 ‘‘‘
5 结果为:
6 19
7 None
8 没有对应的键
9 ‘‘‘

方法3:使用 keys() 方法,查询所有的键,返回列表

1 print(dic1.keys())
2 ‘‘‘
3 结果为:
4 dict_keys([‘name‘, ‘age‘, ‘active‘, ‘id‘])
5 ‘‘‘

方法4:使用 values() 方法,查询所有的值,返回所有值组成的列表

1 print(dic1.values())
2 ‘‘‘
3 结果为:
4 dict_values([‘paoche‘, 19, [‘beijing‘, ‘hebei‘], {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}])
5 ‘‘‘

方法5:使用 items() 方法,获取所有键值对,返回列表,每个元素为键值对组成的元组

1 print(dic1.items())
2 ‘‘‘
3 结果为:
4 dict_items([(‘name‘, ‘paoche‘), (‘age‘, 19), (‘active‘, [‘beijing‘, ‘hebei‘]), (‘id‘, {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘})])
5 ‘‘‘

items()取出的列表可以直接赋值给变量使用

1 for k,v in dic1.items():
2     print(k,v)
3 ‘‘‘
4 结果为:
5 name paoche
6 age 19
7 active [‘beijing‘, ‘hebei‘]
8 id {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}
9 ‘‘‘

原文地址:https://www.cnblogs.com/ershoupaoche/p/9505770.html

时间: 2024-11-09 19:36:13

python学习-字典的增删改查的相关文章

python之字典的增删改查

Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.字典都是无序的,但查询速度快. 字典是一个key/value的集合,key可以是任意可被哈希(内部key被hash后作为索引)的类型.因此,key可以是文本.数字等任意类型.如果两个数字'=='判断相等,那么key就相等,value会产生覆盖(例如:1 == 1.0 # => True).注意,浮点数比较很不精确,因此千万不要用浮点数作为key! Jason是字符串,区别于字典,只是格式比较像(key

python中字典的增删改查及相关知识点

1 ''' 2 数据划分:可变数据类型,不可变数据类型 3 不可变数据类型:tuple,str,bool,int 可哈希 4 可变数据类型: list, dict, set 不可哈希 5 dict key:必须是不可变数据类型 可哈希 6 dict value: 任意数据类型 7 dict 优点:二分法去查找 8 存储大量关系型数据 9 特点: 无序的 10 ''' 11 12 #>>>增 13 14 #使用key增加,类似于list的索引改变值 15 #但是list中的索引必须在范围内

python 字典的增删改查

字典 # 1.存储数据比较大 # 2.字典的查找速度比列表快 # 3.字典都是通过键来操作的,且键必须是唯一的. # 4.# dic = {"键":"值","key":"value"} 字典的增删改查 字典增: dic = {} dic["键"]= 值 添加键值对 dic = {} dic.setdefault("键",值) 有则更改,无则添加 字典删: dic = {"111

字典 字典的增删改查

1)什么是字典(dict)dict. 以{}表示. 每一项用逗号隔开,内部元素用key:value的形式来保存数据{"jj":"林俊杰", "jay":"周杰伦"} 查询的效率非常高, 通过key来查找元素 内部使用key来计算一个内存地址(暂时),hash算法. key必须是不可变的数据类型(key 必须是可哈希的数据类型) 可哈希就是不可变 2)字典的增删改查 新增: dict["新key"] = &q

python之MySQL学习——简单的增删改查封装

1.增删改查封装类MysqlHelper.py 1 import pymysql as ps 2 3 class MysqlHelper: 4 def __init__(self, host, user, password, database, charset): 5 self.host = host 6 self.user = user 7 self.password = password 8 self.database = database 9 self.charset = charset

MyBatis学习--简单的增删改查

jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: 1 Public static void main(String[] args) { 2 Connection connection = null; 3 PreparedStatement preparedStatement = null; 4 ResultSet resultSet = null; 5 6 try { 7 //加载数据库驱动 8 Class.forName

字典相关函数(增删改查)

# ###字典的相关函数 (增删改查) # (1) 增 dictvar = {} dictvar['top'] = "凯" dictvar['middle'] = "妲己" dictvar["bottom"] = "鲁班七号" dictvar["jungle"] = "刘备" dictvar["support"] = "刘邦" print(dict

mybatis学习之普通增删改查

mybatis下载地址:https://github.com/mybatis/mybatis-3/releases 选择你要下载的版本,这里我下载的3.4.2版 项目结构: 将mybatis中的所有jar包导入还要导入链接mysql数据库的jar包. 其中db.properties,mybatis-config.xml,log4j.properties是在src下. 在mysql中新建mybatis数据库,在数据库中新建表t_customer,表结构如下: 随后向其中随便插入几条数据. Cust

【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查

本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系人 说明:为了方便数据不使用真正的数据库,而是通过内存数据模拟 1.       Web API中包含的方法 Action HTTP method Relative URI GetAllContact GET /api/contact GetContact GET /api/contact /id