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 07 Python
python列表的常用操作方法小结
May 21 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
Python实现PS图像调整黑白效果示例
Jan 25 Python
django manage.py扩展自定义命令方法
May 27 Python
Python对CSV、Excel、txt、dat文件的处理
Sep 18 Python
pandas 数据归一化以及行删除例程的方法
Nov 10 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
Dec 20 Python
python文件读取失败怎么处理
Jun 23 Python
python 爬取免费简历模板网站的示例
Sep 27 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 Python
python中使用np.delete()的实例方法
Feb 01 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
第九节--绑定
2006/11/16 PHP
转PHP手册及PHP编程标准
2006/12/17 PHP
php流量统计功能的实现代码
2012/09/29 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
简单快速的实现js计算器功能
2017/08/17 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
详解Python3中ceil()函数用法
2019/02/19 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
大型营销活动计划书
2014/04/28 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书