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 相关文章推荐
wxPython使用系统剪切板的方法
Jun 16 Python
Python数据类型详解(四)字典:dict
May 12 Python
教你用python3根据关键词爬取百度百科的内容
Aug 18 Python
Python设计模式之模板方法模式实例详解
Jan 17 Python
Django中使用 Closure Table 储存无限分级数据
Jun 06 Python
Django接收自定义http header过程详解
Aug 23 Python
python list多级排序知识点总结
Oct 23 Python
Python tkinter模版代码实例
Feb 05 Python
如何搭建pytorch环境的方法步骤
May 06 Python
python对一个数向上取整的实例方法
Jun 18 Python
简单了解Python字典copy与赋值的区别
Sep 16 Python
Python读取pdf表格写入excel的方法
Jan 22 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中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
jquery蒙版控件实现代码
2010/12/08 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
《学会待客》教学反思
2014/02/22 职场文书
技校毕业生自荐信
2014/06/03 职场文书
绿色出行口号
2014/06/18 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
保安2014年终工作总结
2014/12/06 职场文书
离婚被告代理词
2015/05/23 职场文书
话题作文之学会尊重
2019/12/16 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
Python实现对齐打印 format函数的用法
2022/04/28 Python
python神经网络ResNet50模型
2022/05/06 Python