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中列表生成式的用法
Mar 31 Python
初步理解Python进程的信号通讯
Apr 09 Python
深入讲解Python编程中的字符串
Oct 14 Python
用Python登录好友QQ空间点赞的示例代码
Nov 04 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
Python实现的IP端口扫描工具类示例
Feb 15 Python
windows10下安装TensorFlow Object Detection API的步骤
Jun 13 Python
解决python3 安装不了PIL的问题
Aug 16 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
使用Python脚本从文件读取数据代码实例
Jan 19 Python
解析Python 偏函数用法全方位实现
Jun 26 Python
python中not、and和or的优先级与详细用法介绍
Nov 03 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
php压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
javascript hasFocus使用实例
2010/06/29 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
对js关键字命名的疑问介绍
2014/04/25 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
Python实现字符串反转的常用方法分析【4种方法】
2017/09/30 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
生物科学专业自荐书
2014/06/20 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
教师岗位说明书
2015/09/30 职场文书
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电