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之用while来循环
Oct 02 Python
使用Python爬取最好大学网大学排名
Feb 24 Python
使用python搭建服务器并实现Android端与之通信的方法
Jun 28 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
Python 实现自动获取种子磁力链接方式
Jan 16 Python
Python3.7 读取音频根据文件名生成脚本的代码
Apr 07 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
Python如何执行精确的浮点数运算
Jul 31 Python
python raise的基本使用
Sep 10 Python
python输出国际象棋棋盘的实例分享
Nov 26 Python
五分钟学会怎么用python做一个简单的贪吃蛇
Jan 12 Python
python使用PySimpleGUI设置进度条及控件使用
Jun 10 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
不错的一篇面向对象的PHP开发模式(简写版)
2007/03/15 PHP
PHP循环结构实例讲解
2014/02/10 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
Python读写zip压缩文件的方法
2018/08/29 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
如何执行一个shell程序
2012/11/23 面试题
往来会计岗位职责
2013/12/19 职场文书
小孩百日宴答谢词
2014/01/15 职场文书
大学生就业自荐书
2014/06/16 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
股份转让协议书范本
2015/01/27 职场文书
施工安全保证书
2015/05/09 职场文书
职场干货:简历中的自我评价应该这样写!
2019/05/06 职场文书
一文简单了解MySQL前缀索引
2022/04/03 MySQL