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
猜你喜欢
- 有这样一张表,表数据及结果如下:school_idschool_nametotal_studenttest_takers1239Abraha
- 本文实例讲述了SESSION存放在数据库用法。分享给大家供大家参考。具体如下:<?php/*CREATE TABLE `ws_sess
- session 不用多介绍,使一个http可以对应一个终端用户。session的本质使用cookie来实现。原理大概是:http 带来服务端
- 一、百度百科1、MySQLMySQL声称自己是最流行的开源数据库。LAMP中的M指的就是MySQL。构建在LAMP上的应用都会使用MySQL
- 1、将python程序打包成单文件(使用 -F 参数)后,尝试运行外部文件却提示找不到的问题当你将python程序打包成单文件(使用 -F
- 基本示例?计算属性允许我们声明性地计算衍生值。然而在有些情况下,我们需要在状态变化时执行一些“副作用&rdquo
- 废话还是说太多了 直接上代码import randomimport sys# 牌面列表card_code = ['A', &
- 安装selenium打开命令控制符输入:pip install -U selenium火狐浏览器安装firebug:www.firebug.
- 1,phpthumb_ico 是生成ICO图标的类,源码如下class phpthumb_ico {function phpthumb_ic
- hp中怎么让json_encode不自动转义斜杠“/”?下面本篇文章给大家介绍一下PHP中让json_encode不自动转义斜杠“/”的方法
- 我一般都是通过xpath解析DOM树的时候会使用lxml的etree,可以很方便的从html源码中得到自己想要的内容。这里主要介绍一下我常用
- 前言大家好,今天给大家带来绘制“手绘风格”可视化作品的小技巧,主要涉及Python编码绘制。主要内容
- 这篇文章主要介绍了python numpy数组复制使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 1、其中再语义分割比较常用的上采样:其实现方法为:def upconv2x2(in_channels, out_channels, mode
- [原文地址] VS 2008 Performance Improvements[原文发表时间] Thursday, September 27
- Response是负责将信息传递给用户的对象,它可动态地响应客户端的请求,并将动态生成的响应结果返回给客户端浏览器。 一,Resp
- 浏览器的开发者在很早的时候就已经意识到, HTTP's 的无状态会对Web开发者带来很大的问题,于是(cookies)应运而生。 c
- 1.彻底弄懂CSS盒子模式一(DIV布局快速入门) 2.彻底弄懂CSS盒子模式二(导航栏实例) 3.彻底弄懂CSS盒子模式三(浮动的表演和清
- 欢迎来到 vue-form 表单提交演示间, 你有更好的建议,请告知楼主额!1. 客户端 html<!DOCTYPE html>
- 本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下:#