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 相关文章推荐
python3实现ftp服务功能(客户端)
Mar 24 Python
Python面向对象编程基础解析(二)
Oct 26 Python
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 Python
tensorflow创建变量以及根据名称查找变量
Mar 10 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
Python全排列操作实例分析
Jul 24 Python
tensorflow学习教程之文本分类详析
Aug 07 Python
python 实现UTC时间加减的方法
Dec 31 Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 Python
Python基础学习之函数方法实例详解
Jun 18 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 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
Smarty+QUICKFORM小小演示
2007/02/25 PHP
php在字符串中查找另一个字符串
2008/11/19 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
PHP中常用的魔术方法
2017/04/28 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
编辑浪子版表单验证类
2007/05/12 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
2013/06/04 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
Python几种常见算法汇总
2020/06/02 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
Python通过format函数格式化显示值
2020/10/17 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
Java如何格式化日期
2012/08/07 面试题
教师节宣传方案
2014/05/23 职场文书
六查六看六改心得体会
2014/10/14 职场文书
大班上学期个人总结
2015/02/13 职场文书
交通事故调解协议书
2015/05/20 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
总结Python变量的相关知识
2021/06/28 Python
Tomcat用户管理的优化配置详解
2022/03/31 Servers