Python中字典与恒等运算符的用法分析


Posted in Python onAugust 22, 2019

本文实例讲述了Python中字典与恒等运算符的用法。分享给大家供大家参考,具体如下:

字典

字典是可变数据类型,其中存储的是唯一键到值的映射。

elements = {"hydrogen": 1, "helium": 2, "carbon": 6}

字典的键可以是任何不可变类型,例如整数或元组,而不仅仅是字符串。甚至每个键都不一定要是相同的类型!

print(elements["helium"]) # 2

我们可以使用方括号并在括号里放入键,查询字典中的值或向字典中插入新值

elements["lithium"] = 3

使用关键字 in 检查值是否在字典中。字典有一个也很有用的相关方法,叫做 getget 会在字典中查询值,但是和方括号不同,如果没有找到键,get 会返回 None(或者你所选的默认值)

print("carbon" in elements) # True
print(elements.get("dilithium")) # None

如果你预计查询有时候会失败,get 可能比普通的方括号查询更合适,因为错误可能会使程序崩溃。

恒等运算符

概念解释

| 关键字 | 运算符
|---|----
| is | 检查两边是否恒等
| is not | 检查两边是否不恒等

可以使用运算符 is 检查某个键是否返回了 None, 或者使用 is not 检查是否没有返回 None

n = elements.get("dilithium")
print(n is None) # True
print(n is not None) # False

字典和恒等运算符[相关练习]

定义一个叫做 population 的字典

#  Key   |  Value
# Shanghai |  17.8
# Istanbul |  13.3
# Karachi  |  13.0
# Mumbai  |  12.5
population = {
  "Shanghai":17.8,
  "Istanbul":13.3,
  "Karachi":13.0,
  "Mumbai":12.5
}
print(population["Mumbaix"]) # 12.5

以下哪些项可以用作字典的键?(请选中所有适用项。) Hint: 字典的键必须是不可变的,即所属的类型必须不可变。

1. 可用 : str, int, float, tuples, bool
2. 不可用 :list, set, dictionaries

如果我们查找不在字典中的值,会发生什么?
发生 KeyError

字典有一个也很有用的相关方法,叫做 get。get 会在字典中查询值,但是和方括号不同,如果没有找到键,get 会返回 None(或者你所选的默认值)

正确的使用方式:

elements.get('dilithium') # None

错误的使用方式:

elements['dilithium'] # KeyError: 'dilithium'

使用get并添加默认值, 当键没找到时,get会返回该值。

elements.get('kryptonite', 'There\'s no such element!') # "There's no such element!"

检查是否相等与恒等:== 与 is

以下代码的输出是什么?

a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a == b) # True
print(a is b) # True
print(a == c) # True
print(a is c) # False

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python 元组(Tuple)操作详解
Mar 11 Python
跟老齐学Python之Import 模块
Oct 13 Python
python实现分析apache和nginx日志文件并输出访客ip列表的方法
Apr 04 Python
python模拟enum枚举类型的方法小结
Apr 30 Python
Python中用altzone()方法处理时区的教程
May 22 Python
简述Python中的进程、线程、协程
Mar 18 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
Python中文件的写入读取以及附加文字方法
Jan 23 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
python调用Matplotlib绘制分布点图
Oct 18 Python
python 读写文件包含多种编码格式的解决方式
Dec 20 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 Python
python实现通过flask和前端进行数据收发
Aug 22 #Python
python2.7的flask框架之引用js&css等静态文件的实现方法
Aug 22 #Python
PyQt+socket实现远程操作服务器的方法示例
Aug 22 #Python
使用python os模块复制文件到指定文件夹的方法
Aug 22 #Python
详解Django-channels 实现WebSocket实例
Aug 22 #Python
解决python3 requests headers参数不能有中文的问题
Aug 21 #Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
Aug 21 #Python
You might like
php长字符串定义方法
2012/07/12 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
python数字图像处理之高级形态学处理
2018/04/27 Python
Python学习小技巧总结
2018/06/10 Python
python自动识别文本编码格式代码
2019/12/26 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
2016/12/30 HTML / CSS
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
全球地下的服装和态度:Slam Jam
2018/02/04 全球购物
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
业务主管岗位职责
2013/11/20 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
安全目标管理责任书
2014/07/25 职场文书
公司年底活动方案
2014/08/17 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
个人求职信格式范文
2015/03/20 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL