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 os模块介绍
Nov 30 Python
Python MySQLdb模块连接操作mysql数据库实例
Apr 08 Python
Python函数中的函数(闭包)用法实例
Mar 15 Python
学习python类方法与对象方法
Mar 15 Python
python中abs&map&reduce简介
Feb 20 Python
Django框架模板的使用方法示例
May 25 Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 Python
python匿名函数用法实例分析
Aug 03 Python
Django框架中序列化和反序列化的例子
Aug 06 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
Dec 06 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
matplotlib制作雷达图报错ValueError的实现
Jan 05 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运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
2019/08/20 Javascript
JavaScript find()方法及返回数据实例
2020/04/30 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
Python+django实现简单的文件上传
2016/08/17 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
python openpyxl模块的使用详解
2021/02/25 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
合同专员岗位职责
2013/12/18 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
python 模块重载的五种方法
2021/04/24 Python
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript
Python 阶乘详解
2021/10/05 Python
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers