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检测手机QQ在线状态的脚本代码
Feb 10 Python
python paramiko实现ssh远程访问的方法
Dec 03 Python
Python Web框架Flask中使用七牛云存储实例
Feb 08 Python
python日期时间转为字符串或者格式化输出的实例
May 29 Python
python保存文件方法小结
Jul 27 Python
在Python中append以及extend返回None的例子
Jul 20 Python
Django如何将URL映射到视图
Jul 29 Python
numpy实现神经网络反向传播算法的步骤
Dec 24 Python
python scrapy重复执行实现代码详解
Dec 28 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
Python包资源下载路径报404解决方案
Nov 05 Python
Python爬虫进阶之Beautiful Soup库详解
Apr 29 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获得当前的脚本网址
2007/12/10 PHP
php5 mysql分页实例代码
2008/04/10 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
php的4种常见运行方式
2015/03/20 PHP
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
JavaScript记录光标在编辑器中位置的实现方法
2016/04/22 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
[52:07]完美世界DOTA2联赛PWL S3 LBZS vs access 第二场 12.10
2020/12/13 DOTA
利用Python批量生成任意尺寸的图片
2016/08/29 Python
python实现C4.5决策树算法
2018/08/29 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
Python之修改图片像素值的方法
2019/07/03 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
解决Python3下map函数的显示问题
2019/12/04 Python
python爬虫用mongodb的理由
2020/07/28 Python
Python 如何展开嵌套的序列
2020/08/01 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
新任教师自我鉴定
2014/02/24 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers