python dictionary 字典

Python 字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下

d = {key1 : value1, key2 : value2, key3 : value3 }

dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。

在这里插入图片描述
键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

一个简单的字典实例:

tinydict = {'name': 'csdn', 'likes': 123, 'url': 'www.csdn.com'}

也可以像下面这样创建字典:

tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }

创建空字典

使用大括号 { } 创建空字典:
示例代码如下

# 使用大括号 {} 来创建空字典
emptyDict = {}# 打印字典
print(emptyDict)# 查看字典的数量
print("Length:", len(emptyDict))# 查看类型
print(type(emptyDict))

输出如下
在这里插入图片描述
使用内建函数 dict() 创建字典:

示例代码如下

emptyDict = dict()# 打印字典
print(emptyDict)# 查看字典的数量
print("Length:",len(emptyDict))# 查看类型
print(type(emptyDict))

输出如下
在这里插入图片描述

访问字典里的值

把相应的键放入到方括号中,
示例代码如下

tinydict = {'Name': 'qayrup', 'Age': 7, 'Class': 'csdn'}print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])

输出如下
在这里插入图片描述
如果用字典里没有的键访问数据,会输出错误如下:
示例代码如下

tinydict = {'Name': 'qayrup', 'Age': 7, 'Class': 'csdn'}print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['error']: ", tinydict['error'])

输出结果

在这里插入图片描述

修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对
示例如下

tinydict['Age']=18
tinydict['Class']='aliyun'
print("tinydict['Age']: ", tinydict['Age'])
print("tinydict['Class']: ", tinydict['Class'])

输出如下
在这里插入图片描述

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显式删除一个字典用del命令
示例代码如下

tinydict = {'Name': 'qayrup', 'Age': 18, 'Class': 'CSDN'}del tinydict['Name'] # 删除键 'Name'
print ("tinydict删除name", tinydict)
tinydict.clear()     # 清空字典
print ("tinydict清空", tinydict)del tinydict         # 删除字典print ("tinydict删除", tinydict)

输出如下

在这里插入图片描述

字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

  1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
tinydict = {'Name': 'qayrup', 'Age': 18, 'Name':'newQayrup'}
print('tinydict' ,tinydict)

在这里插入图片描述

  1. 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:

示例代码如下

tinydict1={1:'用数字当键',1.1:'浮点数当键',True:'布尔值当键'}
print(tinydict1)
tinydict2={(1,):'单元素元组当键',(1,2):"多元素元组当键"}
print(tinydict2)
tinydict3={'str':'字符串当键'}
print(tinydict3)
tinydict4={[1,2]:'列表当键'}
print(tinydict4)

输出结果如下
在这里插入图片描述

字典内置函数&方法

Python字典包含了以下内置函数:

函数描述实例
len(dict)计算字典元素个数,即键的总数。tinydict = {‘Name’: ‘qayrup’, ‘Age’: 7, ‘Class’: ‘First’}
len(tinydict)
输出3
str(dict)输出字典,可以打印的字符串表示。tinydict = {‘Name’: ‘qayrup’, ‘Age’: 7, ‘Class’: ‘First’}
str(tinydict)
“{‘Name’:‘qayrup’, ‘Class’: ‘CSDN’, ‘Age’: 18}”
type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。tinydict = {‘Name’: ‘qayrup’, ‘Age’: 7, ‘Class’: ‘CSDN’}
type(tinydict)
<class ‘dict’>

Python字典内置方法:

函数描述
dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key, default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值
key in dict如果键在字典dict里返回true,否则返回false
dict.items()以列表返回一个视图对象
dict.keys()返回一个视图对象
dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2)把字典dict2的键/值对更新到dict里
dict.values()返回一个视图对象
pop(key[,default])删除字典 key(键)所对应的值,返回被删除的值。
popitem()返回并删除字典中的最后一对键和值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2815230.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

RocketMQ入坑指南(五):SpringBoot集成RocketMQ和具体使用方式

前言 经过前面几部分的教程&#xff0c;大家应该已经对RocketMQ有了一个全面的认识&#xff0c;建议仔细阅读前几章的内容&#xff0c;可以更好的理解这次的内容&#xff0c;接下来&#xff0c;我们通过代码来演示一下SpringBoot如何集成并使用RocketMQ发送消息 一、SpringBo…

Linux笔记--用户与用户组

Linux系统是一个多用户多任务的操作系统&#xff0c;任何一个要使用系统资源的用户&#xff0c;都必须首先向系统管理员(root)申请一个账号&#xff0c;然后以这个账号的身份进入系统。 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪&#xff0c;并控制他们对系…

Unity中URP下实现水体(水面反射)

文章目录 前言一、原理1、法一&#xff1a;使用立方体纹理 CubeMap&#xff0c;作为反射纹理使用2、法二&#xff1a;使用反射探针生成环境反射图&#xff0c;所谓反射的采样纹理 二、实现水面反射1、定义和申明CubeMap2、反射向量需要什么3、计算 N ⃗ \vec{N} N 4、计算 V ⃗…

【C++私房菜】序列式容器的迭代器失效问题

目录 一、list的迭代器失效 二、vector的迭代器失效 1、空间缩小操作 2、空间扩大操作 三、总结 在C中&#xff0c;当对容器进行插入或删除操作时&#xff0c;可能会导致迭代器失效的问题。所谓迭代器失效指的是&#xff0c;原先指向容器中某个元素的迭代器&#xff0c;在…

STM32_DS18B20_1_芯片简介及初始化配置

DS18B20介绍 DS18B20数字温度计提供9位到12位摄氏度的温度测量&#xff0c;并具有非易失性&#xff0c;用户可编程的上下触发点的报警功能。DS18B20通过1线总线进行通信&#xff0c;根据定义&#xff0c;该总线只需要一条数据线&#xff0c;即可与中央微处理器进行通信…

5G双域快网

目录 一、业务场景 二、三类技术方案 2.1、专用DNN方案 2.2、ULCL方案&#xff1a;通用/专用DNNULCL分流 2.3、 多DNN方案-定制终端无感分流方案 漫游场景 一、业务场景 初期双域专网业务可划分为三类业务场景&#xff0c;学校、政务、文旅等行业均已提出公/专网融合访问需…

每日五道java面试题之spring篇(九)

目录&#xff1a; 第一题. 说一下Spring的事务传播行为第二题. 说一下 spring 的事务隔离&#xff1f;第三题. Spring AOP and AspectJ AOP 有什么区别&#xff1f;AOP 有哪些实现方式&#xff1f;第四题. JDK动态代理和CGLIB动态代理的区别第五题. 解释一下Spring AOP里面的几…

nginx实现http反向代理及负载均衡

目录 一、代理概述 1、代理概念 1.1 正向代理&#xff08;Forward Proxy&#xff09; 1.2 反向代理&#xff08;Reverse Proxy&#xff09; 1.3 正向代理与反向代理的区别 2、同构代理与异构代理 2.1 同构代理 2.2 异构代理 2.3 同构代理与异构代理的区别 二、四层代…

VL817-Q7 USB3.0 HUB芯片 适用于扩展坞 工控机 显示器

VL817-Q7 USB3.1 GEN1 HUB芯片 VL817-Q7 USB3.1 GEN1 HUB芯片 VIA Lab的VL817是一款现代USB 3.1 Gen 1集线器控制器&#xff0c;具有优化的成本结构和完全符合USB标准3.1 Gen 1规范&#xff0c;包括ecn和2017年1月的合规性测试更新。VL817提供双端口和双端口4端口配置&…

Linux NFC 子系统剖析

1.总览 linux源码中NFC在net/nfc下&#xff0c;文件结构如下图&#xff1a; hci&#xff1a;Host Controller Interface 主要是针对NFC的主机-控制器接口协议 nci&#xff1a;NFC Controller Interface 主要是NFC的控制器接口协议&#xff0c;用于NFCC(NFC Controller)和DH(…

【Go语言】Go语言中的切片

Go语言中的切片 1.切片的定义 Go语言中&#xff0c;切片是一个新的数据类型数据类型&#xff0c;与数组最大的区别在于&#xff0c;切片的类型中只有数据元素的类型&#xff0c;而没有长度&#xff1a; var slice []string []string{"a", "b", "c…

GCC的符号可见性: 解决Linux多个库同名符号冲突问题以及引用不同版本库的问题

目录 1 -fvisibilitydefault|internal|hidden|protected 1.1 __attribute__((visibility("default"))) 与 CXXg -fvisibilityhidden 的作用 1.2 __attribute__((visibility("hidden"))) 与 CXXg -fvisibilitydefault的作用 2 我的问题 2.1 解决措…

雾锁王国服务器怎么建?雾锁王国服务器搭建方法

雾锁王国Enshrouded服务器搭建怎么搭建&#xff1f;非常简单&#xff0c;阿里云计算巢雾锁王国程序&#xff0c;可以一键搭建雾锁王国多人联机服务器&#xff0c;腾讯云是基于雾锁王国镜像系统&#xff0c;阿里云服务网aliyunfuwuqi.com汇总雾锁王国服务器搭建&#xff0c;超简…

kafka三节点集群平滑升级过程指导

一、前言 Apache Kafka作为常用的开源分布式流媒体平台&#xff0c;可以实时发布、订阅、存储和处理数据流,多用于作为消息队列获取实时数据&#xff0c;构建对数据流的变化进行实时反应的应用程序&#xff0c;已被数千家公司用于高性能数据管道、流分析、数据集成和任务关键型…

DolphinScheduler——工作流实例的生命周期

目录 一、DolphinScheduler架构原理 1.1 系统架构图 1.2 DolphinScheduler核心概念 1.2 创建工作流 1.2.1 如何触发一个工作流实例 1.2.2 任务调度链路监控 1.2.3 Workflow-DAG解析 DAG解析 Dispatch分发流程 Master和Worker的交互过程 1.3 任务运行状态 该篇文章主…

就业班 2401--2.28 Linux Day7--存储管理1

一 .存储管理 主要知识点: 基本分区、逻辑卷LVM、EXT3/4/XFS文件系统、RAID 初识硬盘 机械 HDD 固态 SSD SSD的优势 SSD采用电子存储介质进行数据存储和读取的一种技术&#xff0c;拥有极高的存储性能&#xff0c;被认为是存储技术发展的未来新星。 与传统硬盘相比&#…

Codeforces Round 929 (Div. 3)(A,B,C,D,E,F,G)

这场没考什么算法&#xff0c;比较水&#xff0c;难度也不是很高。比赛链接 硬要说的话E有个 前缀和 加 二分&#xff0c;F是数学BFS&#xff0c;G是个构造 A. Turtle Puzzle: Rearrange and Negate 题意&#xff1a; 给你一个由 n n n 个整数组成的数组 a a a 。您必须对…

Rocky Linux 运维工具yum

一、yum的简介 ​​yum​是用于在基于RPM包管理系统的包管理工具。用户可以通过 ​yum​来搜索、安装、更新和删除软件包&#xff0c;自动处理依赖关系&#xff0c;方便快捷地管理系统上的软件。 二、yum的参数说明 1、install 用于在系统的上安装一个或多个软件包 2、seach 用…

golang使用gorm操作mysql1

1.mysql连接配置 package daoimport ("fmt""gorm.io/driver/mysql""gorm.io/gorm""gorm.io/gorm/logger" )var DB *gorm.DB// 连接数据库&#xff0c;启动服务的时候&#xff0c;init方法就会执行 func init() {username : "roo…

stm32学习笔记:ADC

1 ADC简介 ADC的作用ADC就是一个电压表&#xff0c;把引脚的电压值测出来&#xff0c;放在一个变量里 DAC的作用信号发生器、音频解码芯片 ADC的两个关键参数&#xff1a; 1、分辨率&#xff0c;一般用多少位来表示&#xff0c;12位AD值&#xff0c;它的表示范围就是0~2^12-1&…