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用10行代码实现对黄色图片的检测功能
Aug 10 Python
python实现类之间的方法互相调用
Apr 29 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
Python 获取div标签中的文字实例
Dec 20 Python
Python模块的加载讲解
Jan 15 Python
tensorflow 只恢复部分模型参数的实例
Jan 06 Python
TensorFlow2.0矩阵与向量的加减乘实例
Feb 07 Python
Python函数参数定义及传递方式解析
Jun 10 Python
python支持多继承吗
Jun 19 Python
Django实现内容缓存实例方法
Jun 30 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
python 如何调用 dubbo 接口
Sep 24 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
数据库中排序的对比及使用条件详解
2012/02/23 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
ES6 十大特性简介
2020/12/09 Javascript
Python程序设计入门(4)模块和包
2014/06/16 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
python实现矩阵打印
2019/03/02 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
基于python代码批量处理图片resize
2020/06/04 Python
Python 图片处理库exifread详解
2021/02/25 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
英国著名的药妆网站:Escentual
2016/07/29 全球购物
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
linux面试题参考答案(6)
2016/06/23 面试题
成教毕业生自我鉴定
2013/10/23 职场文书
新员工入职感言
2014/02/01 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
节水口号标语
2014/06/19 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
Java内存模型之happens-before概念详解
2021/06/13 Java/Android