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自然语言编码转换模块codecs介绍
Apr 08 Python
python实现图片文件批量重命名
Mar 23 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
Nov 30 Python
python实现三维拟合的方法
Dec 29 Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 Python
python 伯努利分布详解
Feb 25 Python
Python使用sqlite3模块内置数据库
May 07 Python
Python map及filter函数使用方法解析
Aug 06 Python
Python如何把不同类型数据的json序列化
Apr 30 Python
如何使用Tkinter进行窗口的管理与设置
Jun 30 Python
Python中super().__init__()测试以及理解
Dec 06 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中的一些常用函数收集
2015/05/26 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
javascript globalStorage类代码
2009/06/04 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
js传参数受特殊字符影响错误的解决方法
2013/10/21 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
js实现直播点击飘心效果
2020/08/19 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
python 接收处理外带的参数方法
2018/12/03 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
统计每一学生的平均成绩
2014/06/06 面试题
应聘收银员个人的求职信
2013/11/30 职场文书
体育专业个人求职信范文
2013/12/27 职场文书
生物学专业求职信
2014/07/23 职场文书
2015年公司新年寄语
2014/12/08 职场文书
服务承诺书
2015/01/19 职场文书
2015年度班主任自我评价
2015/03/11 职场文书
java设计模式--原型模式详解
2021/07/21 Java/Android
Python中第三方库Faker的使用详解
2022/04/02 Python
win sever 2022如何占用操作主机角色
2022/06/25 Servers