当前位置: 首页 > news >正文

Python 字典详解(dict)

文章目录

  • 1 概述
    • 1.1 性质
  • 2 常用方法
    • 2.1 以列表返回所有键:keys()
    • 2.2 以列表返回所有值:values()
    • 2.3 以列表返回所有键值对:items()
    • 2.4 返回键对应的值:get()
    • 2.5 添加键值对:setdefault()
    • 2.6 修改键值对:dict[]
    • 2.7 删除键值对:pop()
    • 2.8 清空字典内所有元素:clear()
    • 2.9 删除字典:del
    • 2.10 更新字典:update()

1 概述

1.1 性质

  • 无序。元素没有顺序
  • 不可重复。元素不能重复,若出现重复,则最后的一个键值对会替换前面的
  • 可变。元素可以被修改
dict1 = {'name': '张三', 'age': 18, 'age': 19}print(type(dict1))  # <class 'dict'>
print(dict1)  # {'name': '张三', 'age': 19}

2 常用方法

2.1 以列表返回所有键:keys()

dict1 = {'name': '张三', 'age': 18, 'sex': '女'}print(dict1.keys())
# dict_keys(['name', 'age', 'sex'])

2.2 以列表返回所有值:values()

dict1 = {'name': '张三', 'age': 18, 'sex': '女'}print(dict1.values())
# dict_values(['张三', 18, '女'])

2.3 以列表返回所有键值对:items()

dict1 = {'name': '张三', 'age': 18, 'sex': '女'}for i in dict1.items():print(i)
# ('name', '张三')
# ('age', 18)
# ('sex', '女')for key, value in dict1.items():print(f'key: {key}, value: {value}')
# key: name, value: 张三
# key: age, value: 18
# key: sex, value: 女

2.4 返回键对应的值:get()

dict1 = {'name': '张三', 'age': 18, 'sex': '女'}print(dict1.get('name'))# 注意,若未找到,则报错
print(dict1.get('birthday'))

2.5 添加键值对:setdefault()

dict1 = {'name': '张三', 'age': 18, 'sex': '女'}# 若 key 不存在时,设置该 键值对
dict1.setdefault('id_card', 123456789)print(dict1)
# {'name': '张三', 'age': 18, 'sex': '女', 'id_card': 123456789}

2.6 修改键值对:dict[]

  • 字典中,key 是唯一的,且无法被修改。只能修改 value
dict1 = {'name': '张三', 'age': 18, 'sex': '女'}if 'name' in dict1.keys():dict1['name'] = '李四'print(dict1)

2.7 删除键值对:pop()

dict1 = {'name': '张三', 'age': 18, 'sex': '女'}dict1.pop('sex')print(dict1)
# {'name': '张三', 'age': 18}

2.8 清空字典内所有元素:clear()

dict1 = {'name': '张三', 'age': 18, 'sex': '女'}# 清空字典内的所有元素
dict1.clear()
print(dict1)
# {}

2.9 删除字典:del

dict1 = {'name': '张三', 'age': 18, 'sex': '女'}# 删除 name 的键值对。等同于 pop('name')
del dict1['name']
print(dict1)# 删除整个字典
del dict1
print(dict1)
# NameError: name 'dict1' is not defined

2.10 更新字典:update()

dict1 = {'name': '张三', 'age': 18, 'sex': '女'}
dict2 = {'id_card': 123456789}# 在 dict1 中追加 dict2
dict1.update(dict2)print(dict1)
# {'name': '张三', 'age': 18, 'sex': '女', 'id_card': 123456789}

相关文章:

Python 字典详解(dict)

文章目录 1 概述1.1 性质 2 常用方法2.1 以列表返回所有键&#xff1a;keys()2.2 以列表返回所有值&#xff1a;values()2.3 以列表返回所有键值对&#xff1a;items()2.4 返回键对应的值&#xff1a;get()2.5 添加键值对&#xff1a;setdefault()2.6 修改键值对&#xff1a;di…...

IPoIB在国产并行系统上的实现与优化

目录 1 国产异构众核系统 2 相关工作 3 IPoIB在国产并行系统上的实现 3.1 IPoIB协议原理...

东南大学与OpenHarmony携手共建开源生态,技术俱乐部揭牌成立并迎来TSC专家进校园

11月25日,OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会(以下简称“TSC”)与东南大学携手,于东南大学九龙湖校区金智楼一楼报告厅举办了“东南大学OpenHarmony技术俱乐部成立仪式暨OpenHarmony TSC专家进校园”活动。此次盛会标志着OpenHarmony开源社区和…...

NPU、CPU、GPU算力及算力计算方式

NVIDIA在9月20日发布的NVIDIA DRIVE Thor 新一代集中式车载计算平台&#xff0c;可在单个安全、可靠的系统上运行高级驾驶员辅助应用和车载信息娱乐应用。提供 2000 万亿次浮点运算性能&#xff08;2000 万亿次8位浮点运算&#xff09;。NVIDIA当代产品是Orin&#xff0c;算力是…...

华清远见嵌入式学习——C++——作业6

作业要求&#xff1a; 代码&#xff1a; #include <iostream>using namespace std;class Animal { public:virtual void perform() 0;};class Lion:public Animal { private:string foods;string feature; public:Lion(){}Lion(string foods,string feature):foods(foo…...

k8s安装学习环境

目录 环境准备 配置hosts 关闭防火墙 关闭交换分区 调整swappiness参数 关闭setlinux Ipv4转发 时钟同步 安装Docker 配置Yum源 安装 配置 启动 日志 安装k8s 配置Yum源 Master节点 安装 初始化 配置kubectl 部署CNI网络插件 Node节点 检查 环境准备 准…...

RepidJson将内容写入文件简单代码示例

以下是使用RapidJSON将内容写入文件的示例代码&#xff1a; #include <rapidjson/document.h> #include <rapidjson/writer.h> #include <rapidjson/stringbuffer.h> #include <iostream> #include <fstream>using namespace rapidjson;int mai…...

golang构建docker镜像的几种方式

目前docker支持以下几种方式指定上下文来构建镜像 本地项目路径&#xff08;如&#xff1a;/tmp/xxx&#xff09;本地压缩包路径&#xff08;如&#xff1a;/tmp/xxx.tar&#xff09;docekrfile文本链接&#xff08;如&#xff1a;https://x.com/xxx/dockerfile&#xff09;压…...

golang使用sip协议 用户名和密码注册到vos3000

在Go语言中&#xff0c;要使用SIP协议进行注册&#xff0c;您可以使用第三方库&#xff0c;如github.com/cloudwebrtc/sip。以下是一个简单的示例代码&#xff0c;演示如何使用Go语言中的该库进行基本的SIP注册&#xff1a; 首先&#xff0c;您需要安装该库&#xff1a; go ge…...

第4章 互联网

文章目录 4.1 计算机网络基础 94 4.1.1 计算机网络的基本概念 94 4.1.2 局域网的基本原理 96 4.1.3 局域网协议与应用 98 4.2 Internet 100 4.2.1 TCP/IP 101 4.2.2 TCP/IP应用 106 4.2.3 网络操作系统的功能 112 4.2.4 网络安全的概念 116 4.3 计算机软件编程基础 …...

【JavaWeb】前端工程化(VUE3)

前端工程化&#xff08;VUE3&#xff09; 文章目录 前端工程化&#xff08;VUE3&#xff09;一、概述二、ECMA6Script2.1 es6的变量和模板字符串2.2 es6的解构表达式2.3 es6的箭头函数2.4 rest和spread2.5 es6的对象创建和拷贝2.6 es6的模块化处理 三、前端工程化环境搭建3.1 N…...

JAVA基础知识:异常处理

异常处理是Java编程中至关重要的一部分&#xff0c;它允许程序在出现错误或异常情况时进行适当的处理&#xff0c;以保证程序的稳定性和可靠性。本文将详细介绍Java中的异常处理机制&#xff0c;并提供相关示例代码&#xff0c;帮助读者更好地理解和应用异常处理的概念和技巧。…...

PostGIS学习教程十:空间索引

PostGIS学习教程十&#xff1a;空间索引 回想一下&#xff0c;空间索引是空间数据库的三个关键特性之一。空间索引使得使用空间数据库存储大型数据集成为可能。在没有空间索引的情况下&#xff0c;对要素的任何搜索都需要对数据库中的每条记录进行"顺序扫描"。索引通…...

LeetCode 13 罗马数字转整数

题目描述 罗马数字转整数 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …...

【动态规划】LeetCode2111:使数组 K 递增的最少操作次数

作者推荐 [二分查找]LeetCode2040:两个有序数组的第 K 小乘积 本文涉及的基础知识点 二分查找算法合集 分组 动态规划 题目 给你一个下标从 0 开始包含 n 个正整数的数组 arr &#xff0c;和一个正整数 k 。 如果对于每个满足 k < i < n-1 的下标 i &#xff0c;都有…...

SpringCloud面试题——Nacos

一&#xff1a;什么是Nacos&#xff1f; 二&#xff1a;服务心跳与服务注册原理&#xff1f; 在spring容器启动的时候&#xff0c;nacos客户端会进行两步操作。 向nacos服务端发送心跳向nacos服务端注册当前服务 服务心跳 客户端在启动的时候&#xff0c;会开启一个心跳线程…...

leetcode:统计感冒序列的数目【数学题:组合数含逆元模版】

1. 题目截图 2.题目分析 需要把其分为多个段进行填充 长为k的段&#xff0c;从两端往中间填充的方案数有2 ** (k - 1)种 组合数就是选哪几个数填哪几个段即可 3.组合数含逆元模版 MOD 1_000_000_007 MX 100_000# 组合数模板 fac [0] * MX fac[0] 1 for i in range(1, MX…...

外贸建站平台工具推荐?做海洋建站的平台?

外贸建站平台用哪个比较好&#xff1f;独立站建站系统如何选择&#xff1f; 随着全球市场的竞争日益激烈&#xff0c;如何通过互联网渠道展示企业形象、吸引客户成为外贸企业亟待解决的问题。海洋建站将为大家介绍几款优秀的外贸建站平台工具&#xff0c;助力企业在数字化时代…...

【智能家居】三、添加语音识别模块的串口读取功能点

语音识别模块SU-03T 串口通信线程控制代码 inputCommand.h&#xff08;输入控制指令&#xff09;voiceControl.c&#xff08;语音控制模块指令&#xff09;main.c&#xff08;主函数&#xff09;编译运行结果 语音识别模块SU-03T AI智能语音识别模块离线语音控制模块语音识别…...

物联网开发(一)新版Onenet 基础配置

onenet新创建的账号&#xff0c;没有了多协议接入&#xff0c;只有新的物联网开放平台 第一讲&#xff0c;先给大家讲一下&#xff1a;新版Onenet 基础配置 创建产品 产品开发-->创建产品 产品的品类选择个&#xff1a;大致符合你项目的即可&#xff0c;没有影响 选择智…...

基本面分析建模——用Excel构建财务筛选系统

价值投资就像相亲——你得设定条件,才能筛选出合适的对象。ROE是"赚钱能力",净利润增长率是"成长潜力",资产负债率是"家底厚不厚"。财报就像企业的"体检报告",而Excel就是你的"红娘系统"。记住,股东的钱生钱能力,才是…...

避坑指南:连接UR5实体机械臂与ROS MoveIt时,你最容易忽略的这3个配置细节

避坑指南&#xff1a;连接UR5实体机械臂与ROS MoveIt时&#xff0c;你最容易忽略的这3个配置细节 当仿真环境中的UR5机械臂完美运行MoveIt规划路径&#xff0c;却在切换到实体设备时遭遇连接失败&#xff0c;这种落差感往往源于几个隐蔽的配置陷阱。本文将从工业现场调试经验出…...

HBuilderX网站打包APP

下载HBuilderX安装包官网地址&#xff1a;https://www.dcloud.io/ 选择HBuilderX极客开发工具 点击DOWNLOAD 点击历史版本&#xff0c;这里为什么不下载最新的版本&#xff0c;是因为我一开始下载的最新版本&#xff0c;打包一直提示cannot find module babel-core 将HBuilder…...

ARM GIC中断控制器分组机制与安全配置详解

1. GIC中断控制器基础架构解析在ARM架构的嵌入式系统中&#xff0c;通用中断控制器&#xff08;Generic Interrupt Controller&#xff0c;GIC&#xff09;扮演着系统中断管理的核心角色。作为连接外设中断与CPU之间的桥梁&#xff0c;GIC的设计直接影响着系统的实时性、安全性…...

保姆级教程:从NCBI下载序列到MEGA7构建进化树(附拟南芥SPL15基因实战)

生物信息学实战&#xff1a;从基因检索到进化树构建的全流程解析 在分子生物学研究中&#xff0c;系统进化分析是理解基因家族演化关系的重要工具。对于刚接触生物信息学的学生来说&#xff0c;从零开始完成一个完整的进化树分析项目往往面临诸多挑战——如何获取目标基因序列…...

基于Telegram的AI智能体框架:从原理到实践部署指南

1. 项目概述&#xff1a;一个基于Telegram的AI智能体框架最近在GitHub上看到一个挺有意思的项目&#xff0c;叫openclaw-telegram-ai-agent。光看名字&#xff0c;你大概能猜到它是个什么东西&#xff1a;一个运行在Telegram平台上的AI智能体&#xff08;Agent&#xff09;。但…...

告别3389端口暴露:零信任防火墙重塑RDP安全访问新范式

1. 传统RDP安全方案的致命短板 每次看到服务器日志里那些密密麻麻的暴力破解尝试记录&#xff0c;我的后颈都会发凉。作为从业十年的运维老兵&#xff0c;我见过太多因为3389端口暴露引发的安全事故。有个客户的数据库服务器&#xff0c;明明设置了16位复杂密码&#xff0c;还是…...

终极指南:如何用开源缠论量化工具实现专业级交易可视化

终极指南&#xff1a;如何用开源缠论量化工具实现专业级交易可视化 【免费下载链接】chanvis 基于TradingView本地SDK的可视化前后端代码&#xff0c;适用于缠论量化研究&#xff0c;和其他的基于几何交易的量化研究。 缠论量化 摩尔缠论 缠论可视化 TradingView TV-SDK 项目…...

零依赖STL转STEP工具:5分钟实现3D格式无缝转换的完整指南

零依赖STL转STEP工具&#xff1a;5分钟实现3D格式无缝转换的完整指南 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 在数字化制造和工程设计的交叉领域&#xff0c;STL到STEP格式转换已成为连…...

FanControl风扇控制:3分钟掌握专业级Windows散热管理终极指南

FanControl风扇控制&#xff1a;3分钟掌握专业级Windows散热管理终极指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Tren…...