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开发实现简单的记事本
Nov 15 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
Django 接收Post请求数据,并保存到数据库的实现方法
Jul 12 Python
Python 迭代,for...in遍历,迭代原理与应用示例
Oct 12 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
May 15 Python
在keras中model.fit_generator()和model.fit()的区别说明
Jun 17 Python
解析python 类方法、对象方法、静态方法
Aug 15 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
Oct 15 Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 Python
Pytorch数据读取之Dataset和DataLoader知识总结
May 23 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 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
终于听上了直流胆调频
2021/03/02 无线电
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
Js 本页面传值实现代码
2009/05/17 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
JS实现文字放大效果的方法
2015/03/03 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
Python实现程序的单一实例用法分析
2015/06/03 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
python中如何进行连乘计算
2020/05/28 Python
兵马俑导游词
2015/02/02 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis