python字典key不能是可以是啥类型


Posted in Python onAugust 04, 2020

python中字典的key不能是可变类型。字典可存储任意类型对象,其中值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。语法格式:【d = {key1 : value1, key2 : value2}】。

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

代码实现:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

内容扩展:

Python中字典的key都可以是什么?

答:一个对象能不能作为字典的key,就取决于其有没有__hash__方法。所以所有python自带类型中,除了list、dict、set和内部至少带有上述三种类型之一的tuple之外,其余的对象都能当key。

比如数值/字符串/完全不可变的元祖/函数(内建或自定义)/类(内建或自定义)/方法/包等等你能拿出手的,不过有的实际意义不高。还有数值型要注意,因为两个不同的相等数字可以有相同的哈希值,比如1和1.0。

解释:

代码版本:3.6.3;文档版本:3.6.6

Unlike sequences, which are indexed by a range of numbers, dictionaries are indexed by keys, which can be any immutable type; strings and numbers can always be keys. Tuples can be used as keys if they contain only strings, numbers, or tuples; if a tuple contains any mutable object either directly or indirectly, it cannot be used as a key. You can't use lists as keys, since lists can be modified in place using index assignments, slice assignments, or methods like append()and extend().

字典的键可以是任意不可变类型,需要注意的是tuple元组作为键时,其中不能以任何方式包含可变对象。

到此这篇关于python字典key不能是可以是啥类型的文章就介绍到这了,更多相关python字典key不能是什么类型内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中的匿名函数使用简介
Apr 27 Python
深入理解python函数递归和生成器
Jun 06 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
tensorflow更改变量的值实例
Jul 30 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
python多线程分块读取文件
Aug 29 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
Python使用uuid库生成唯一标识ID
Feb 12 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 Python
Python 实现Mac 屏幕截图详解
Oct 05 Python
Python Pandas解析读写 CSV 文件
Apr 11 Python
Python延迟绑定问题原理及解决方案
Aug 04 #Python
Python 使用生成器代替线程的方法
Aug 04 #Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
Aug 04 #Python
python读取xml文件方法解析
Aug 04 #Python
如何利用python进行时间序列分析
Aug 04 #Python
通过实例简单了解Python sys.argv[]使用方法
Aug 04 #Python
哪种Python框架适合你?简单介绍几种主流Python框架
Aug 04 #Python
You might like
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
删除条目时弹出的确认对话框
2014/06/05 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
jQuery实现的在线答题功能
2015/04/12 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
2016/03/28 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
js实现盒子滚动动画效果
2020/08/09 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
Python3.4学习笔记之列表、数组操作示例
2019/03/01 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
python中数据库like模糊查询方式
2020/03/02 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
css3 2D图片转动样式可以扩充到Js当中
2014/04/29 HTML / CSS
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
高中生毕业自我鉴定
2013/10/10 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
C++程序员求职信范文
2014/04/14 职场文书
爱心捐款感谢信
2015/01/20 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python