python字典-增、删、改
时间:2022-07-22
本文章向大家介绍python字典-增、删、改,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前面我们简单介绍了Python字典、Python获取字典值以及Python遍历字典今天我们来聊聊python字典的一些基本操作。我们还是以car为例子。
一、增
首先我们来看看如何在字典里面增加一个项目
car = {"brand": "Porsche", "model": "911", "year": 1963}
car["color"] = "red"
print(car)
我们新增了一个属性,指定车的颜色为红色。来看看结果
{'brand': 'Porsche', 'model': '911', 'year': 1963, 'color': 'red'}
二、改
其实修改一个项目也是赋值操作,跟上面的增加一个项目本质上是一样的。如果字典里面原本没有这个项目,那么赋值就会新增一个。如果原本字典里面有这个项目,那么再赋值就会覆盖掉原来的项目,也就是修改了。
我们试着把车的颜色修改成蓝色
car = {"brand": "Porsche", "model": "911", "year": 1963, "color": "red"}
car["color"] = "blue"
print(car)
会得到如下结果
{'brand': 'Porsche', 'model': '911', 'year': 1963, 'color': 'blue'}
三、删
如何删掉不需要的条目,有几种方法可以从字典中删除项目
1. pop()方法删除具有指定键名的项:
car = {"brand": "Porsche", "model": "911", "year": 1963, "color": "red"}
print(car)
car.pop("model")
print(car)
得到的结果如下,可以看到model这个条目已经被删除了
{'brand': 'Porsche', 'model': '911', 'year': 1963, 'color': 'red'}
{'brand': 'Porsche', 'year': 1963, 'color': 'red'}
2. popitem()方法删除最后的项目(在 3.7 之前的版本中,会随机删除一个项目):
car = {"brand": "Porsche", "model": "911", "year": 1963, "color": "red"}
print(car)
car.popitem()
print(car)
发现最后一个项目颜色被删掉了
{'brand': 'Porsche', 'model': '911', 'year': 1963, 'color': 'red'}
{'brand': 'Porsche', 'model': '911', 'year': 1963}
3. del关键字删除具有指定键名的项目:
car = {"brand": "Porsche", "model": "911", "year": 1963, "color": "red"}
print(car)
del car['year']
print(car)
我们来删掉year这个条目,看看结果
{'brand': 'Porsche', 'model': '911', 'year': 1963, 'color': 'red'}
{'brand': 'Porsche', 'model': '911', 'color': 'red'}
4. clear()清空字典:
car = {"brand": "Porsche", "model": "911", "year": 1963, "color": "red"}
print(car)
car.clear()
print(car)
看看结果
{'brand': 'Porsche', 'model': '911', 'year': 1963, 'color': 'red'}
{}
其实del也可以完全删除字典:
car = {"brand": "Porsche", "model": "911", "year": 1963, "color": "red"}
print(car)
del car
# 这句会报错,因为car已经不存在了
print(car)
结果如下
{'brand': 'Porsche', 'model': '911', 'year': 1963, 'color': 'red'}
NameError: name 'car' is not defined
从上面的结果可以看出,clear()只是删除了所有的键和值,字典还是存在的,只是为空了。而del会删掉整个字典,所以整个字典就不存在了。
- 自定义gradview
- Redis 起步
- JVM参数详解及OOM
- 【译】《Understanding ECMAScript6》- 第五章-Class
- 【译】《Understanding ECMAScript6》- 第三章-Object
- 【译】《Understanding ECMAScript6》- 第二章-函数
- 【译】《Understanding ECMAScript6》- 第一章-基础知识(二)
- 【译】《Understanding ECMAScript6》- 第一章-基础知识(一)
- 聊聊C10K问题及解决方案
- 【译】《Understanding ECMAScript6》- 简介
- 深入理解 Java 并发之 synchronized 实现原理
- 你真的很熟分布式和事务吗?
- 基于Nginx负载均衡方案
- Android 使用android-support-multidex解决Dex超出方法数的限制问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 用墨卡托和GPS坐标计算距离时误差测试
- 单细胞转录组基础分析五:细胞再聚类
- Semaphore回顾
- iOS13 关闭黑暗模式+状态栏显示问题解决方法
- 0807-6.2.0-CDSW中Session列表和team分析
- 单细胞转录组基础分析八:可视化工具总结
- 单细胞转录组基础分析七:差异基因富集分析
- 定位权限请求时易犯的错误小结
- NSOperationQueue队列中操作依赖相关思考
- 单细胞转录组高级分析一:多样本合并与批次校正
- 10元最多可喝多少瓶啤酒?(不可借酒+可借酒,swift语言实现)
- 单细胞转录组高级分析二:转录调控网络分析
- 关于数组内元素是否会被改变的思考
- 排序之选择排序实现(swift)
- 去除友盟等第三方SDK失败的解决办法(clang: error: no such file or directory:xx)