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局域网ip扫描示例分享
Apr 03 Python
python中string模块各属性以及函数的用法介绍
May 30 Python
详解python中的线程
Feb 10 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
用Python编写一个高效的端口扫描器的方法
Dec 20 Python
执行Django数据迁移时报 1091错误及解决方法
Oct 14 Python
Windows10+anacond+GPU+pytorch安装详细过程
Mar 24 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
python开发入门——set的使用
Sep 03 Python
Django框架请求生命周期实现原理
Nov 13 Python
python井字棋游戏实现人机对战
Apr 28 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
php5.2.0内存管理改进
2007/01/22 PHP
用PHP实现读取和编写XML DOM代码
2010/04/07 PHP
php实现mysql事务处理的方法
2014/12/25 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
js 与或运算符 || && 妙用
2009/12/09 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
python生成指定尺寸缩略图的示例
2014/05/07 Python
Python编码爬坑指南(必看)
2016/06/10 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
python openpyxl模块的使用详解
2021/02/25 Python
职工运动会邀请函
2014/02/02 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
SQL CASE 表达式的具体使用
2022/03/21 SQL Server