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中使用mysql数据库详细介绍
Mar 27 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
浅谈flask中的before_request与after_request
Jan 20 Python
Django 实现下载文件功能的示例
Mar 06 Python
python读取txt文件中特定位置字符的方法
Dec 24 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
基于python实现微信好友数据分析(简单)
Feb 16 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 Python
分享unittest单元测试框架中几种常用的用例加载方法
Dec 02 Python
python实现excel公式格式化的示例代码
Dec 23 Python
Python实现一个论文下载器的过程
Jan 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
扩展你的 PHP 之入门篇
2006/12/04 PHP
PHP中的session安全吗?
2016/01/22 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
javascript new 需不需要继续使用
2009/07/02 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
js逆向解密之网络爬虫
2019/05/30 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
python的迭代器与生成器实例详解
2014/07/16 Python
举例讲解Python中is和id的用法
2015/04/03 Python
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
python3实现飞机大战
2020/11/29 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
自我评价的写作规则
2014/01/06 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
党员评议个人总结
2014/10/20 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android