python字典key不能是可以是啥类型

作者:FXL 时间:2022-12-28 20:54:04 

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元组作为键时,其中不能以任何方式包含可变对象。

来源:https://www.py.cn/jishu/jichu/19683.html

标签:python,字典,key
0
投稿

猜你喜欢

  • 解决Pandas to_json()中文乱码,转化为json数组的问题

    2023-12-05 19:06:33
  • MySQL8.0.21安装步骤及出现问题解决方案

    2024-01-22 20:43:44
  • keras使用Sequence类调用大规模数据集进行训练的实现

    2021-01-03 20:24:35
  • centos7环境下二进制安装包安装 mysql5.6的方法详解

    2024-01-26 23:37:33
  • Python input()函数案例教程

    2021-12-21 15:45:02
  • 记录微信小程序 height: calc(xx - xx);无效问题

    2024-05-02 16:27:16
  • 如何在python中判断变量的类型

    2022-05-03 03:35:06
  • 怎样安全地关闭MySQL实例

    2024-01-20 02:39:20
  • MYSQL METADATA LOCK(MDL LOCK) 理论及加锁类型测试

    2024-01-23 11:16:46
  • SQL Select语句完整的执行顺序

    2008-09-28 21:22:00
  • sqlserver中获取月份的天数的方法分享

    2011-09-30 11:27:52
  • oracle横向纵向求和代码实例

    2024-01-21 12:14:01
  • asp删除mssql数据库中没有记录的图片代码

    2011-03-11 11:22:00
  • 你是真正的用户体验设计者吗? Ⅰ

    2008-03-20 13:42:00
  • SQLServer 使用ADSI执行分布式查询ActiveDorectory对象

    2024-01-18 11:22:18
  • pandas如何解决excel科学计数法问题

    2023-12-20 05:06:20
  • Python内存泄漏和内存溢出的解决方案

    2022-02-10 11:46:55
  • 查询数据表中的记录(SELECT)

    2009-02-27 16:06:00
  • python 装饰器的实际作用有哪些

    2023-04-10 15:00:50
  • 开启SQLSERVER数据库缓存依赖优化网站性能

    2024-01-26 18:05:20
  • asp之家 网络编程 m.aspxhome.com