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中time()方法的使用的教程
May 22 Python
详解python之简单主机批量管理工具
Jan 27 Python
node.js获取参数的常用方法(总结)
May 29 Python
Tensorflow使用支持向量机拟合线性回归
Sep 07 Python
pandas pivot_table() 按日期分多列数据的方法
Nov 16 Python
pymongo中聚合查询的使用方法
Mar 22 Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 Python
Pycharm如何打断点的方法步骤
Jun 13 Python
django框架CSRF防护原理与用法分析
Jul 22 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
matplotlib之属性组合包(cycler)的使用
Feb 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
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
浅析PHP中Collection 类的设计
2013/06/21 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
PHP crc32()函数讲解
2019/02/14 PHP
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
python图像处理之镜像实现方法
2015/05/30 Python
python中input()与raw_input()的区别分析
2016/02/27 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Python实现线程状态监测简单示例
2018/03/28 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
python实现吃苹果小游戏
2020/03/21 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
static关键字的用法
2013/10/07 面试题
会计专业自荐信范文
2013/12/02 职场文书
自主实习接收函
2014/01/13 职场文书
创业资金计划书
2014/02/06 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
小学生运动会广播
2015/08/19 职场文书
中学音乐课教学反思
2016/02/18 职场文书