Python中字典与恒等运算符的用法分析
本文实例讲述了Python中字典与恒等运算符的用法。分享给大家供大家参考,具体如下:
字典
字典是可变数据类型,其中存储的是唯一键到值的映射。
elements = {"hydrogen": 1, "helium": 2, "carbon": 6}
字典的键可以是任何不可变类型,例如整数或元组,而不仅仅是字符串。甚至每个键都不一定要是相同的类型!
print(elements["helium"]) # 2
我们可以使用方括号并在括号里放入键,查询字典中的值或向字典中插入新值
elements["lithium"] = 3
使用关键字 in
检查值是否在字典中。字典有一个也很有用的相关方法,叫做 get
。get
会在字典中查询值,但是和方括号不同,如果没有找到键,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列表(list)操作技巧总结》、《Python函数使用技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
- Hell is empty and all the devils are here.
- kNN之改进约会网站配对效果(附源码)
- Codeforces 768A Oath of the Night's Watch
- 网站性能测试利器:Puppeteer
- FZU 1889 龟兔赛跑
- 1381 硬币游戏
- 零基础学并查集算法
- POJ 2492 A Bug's Life
- 【Scrapy】走进成熟的爬虫框架
- Codeforces 777C Alyona and Spreadsheet
- HDU 1039 Easier Done Than Said?
- Codeforces 777A Shell Game
- Codeforces 777B Game of Credit Cards
- [Jenkins 新插件] 兼容阿里开发手册 (P3C) 的火线插件安装使用教程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 10.5 块级盒子模型(原盒子模型):两种盒子有什么不同?
- Android Material UI控件之MaterialButton
- jQuery (事件、拷贝)对象
- 10.6 border-color简写属性:如何理解四值语法?
- jQuery 插件
- dotnet 基于 dotnet format 的 GitHub Action 自动代码格式化机器人
- 10.7 border-width边框粗细:outline与border有什么不同?
- WPF 非客户区的触摸和鼠标点击响应
- Flink 解决 No ExecutorFactory found to execute the application
- 10.8 如何用js验证一下boz-sizing样式对块级盒子大小的影响?
- 10.9 块级盒子的内外边距:如何使用box-sizing重新定义盒子模式?
- 10.10 圆角边框border-radius与盒子阴影:如何使用它实现圆等特殊形状?
- 函数内部的this指向
- 正则表达式在js中的使用
- 10.11 如何使用git?