python 04字典映射

1.创建字典

(1)通过自己的输入创建字典

字典用大括号,至此,小括号( )表示元组,中括号[ ]表示列表,大括号{ }表示字典,python中最常用的三种数据结构就全了

(2)通过其他映射(如其他字典)或键值对序列创建字典

(3)通过关键字实参调用dict

2.字典常规操作

长度、取值、赋值、删除项、成员资格

3.清空字典

4.复制字典

(1)浅拷贝copy

dict1 =  {'user':'runoob','num':[1,2,3]}
dict2 = dict1          # 直接赋值: 引用对象
dict3 = dict1.copy()   # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
 
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
 
# 输出结果
print(dict1)
print(dict2)
print(dict3)

实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。
也就是说在字典dict1中,user是一个值,而num是指向[1,2,3]这个列表的地址
因此,dict3中,把user的值和num的值都复制过来了,user的值是个字符串,而num的值是列表[1,2,3]的地址dict3中有自己的user值,但num值跟dict1中的值一样,都是指向列表[1,2,3]的地址,所以当列表[1,2,3]发生改变时,dict3和dict1中的num都会改变 

这里为什么叫浅拷贝,也就是只拷贝第一层,涉及到引用的,不会拷贝被引用的数据结构,只拷贝了指向这块数据的地址

(2)深拷贝copy

from copy import deepcopy
dict1 =  {'user':'runoob','num':[1,2,3]}
 
dict2 = dict1          # 浅拷贝: 引用对象
dict3 = dict1.copy()   # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
dict4 = deepcopy(dict1)
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
 
# 输出结果
print(dict1)
print(dict2)
print(dict3)
print(dict4)

与浅拷贝对应的,是深拷贝,也就是会拷贝所有被引用的数据

5.指定键创建字典

6.怎么访问字典项

7.返回字典项列表(将字典项转换为列表)

方法items返回一个包含所有字典项的列表,其中每个元素都为(key, value)的形式。字典项在列表中的排列顺序不确定

8.返回字典中的键

9.怎么删除指定键值对

10.随机弹出字典项

11.获取制定键值的值,如不存在用缺省值添加键值对

12.使用一个字典项更新另一个字典(update)

13.返回字典所有值的字典视图

14.集合与相关操作

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++进阶】哈希思想之哈希表和哈希桶模拟实现unordered_map和unordered_set

哈希表和哈希桶 一,什么是哈希二,关联式容器unordered_map/set1. unordered_map2. unordered_set 三,哈希的结构1. 哈希函数2. 哈希冲突 四,哈希表(闭散列)及其模拟实现五,哈希桶(开…

练手项目层高阶3—《详解文件版本——通讯录管理系统》

文章目录 🚩前言🧩框架结构📺效果展示🚀完整代码 🚩前言 我们前面写的两种方法(静态和动态),唯一缺点就是每次运行都要输入新的数据,很麻烦,也就是说写入的数据无法长久保…

树莓派5使用体验

原文地址:树莓派5使用体验 - Pleasure的博客 下面是正文内容: 前言 好久没有关于教程方面的博文了,由于最近打算入门嵌入式系统,所以就去购入了树莓派5开发板 树莓派5是2023年10月23日正式发售的,过去的时间不算太远吧…

XML文档节点导航与选择指南 | XPath基础知识

XPath(XML Path Language)是XSLT标准的主要组成部分。它用于在XML文档中浏览元素和属性,提供了一种强大的定位和选择节点的方式。 XPath的基本特点 代表XML路径语言: XPath是一种用于在XML文档中导航和选择节点的语言。 路径样式…

【CSS】新闻页面制作 案例一

(大家好,今天我们将通过案例实战对之前学习过的CSS知识进行复习巩固,大家和我一起来吧,加油!💕) 目录 一、前述 二、素材 案例文字素材 案例图片素材 三、案例分析 四、案例实施 五、应用…

Docker之镜像与容器的相关操作

目录 一、Docker镜像 搜索镜像 下载镜像 查看宿主机上的镜像 删除镜像 二、Docker容器 创建容器 查看容器 启停容器 删除容器 进入容器 创建/启动/进入容器 退出容器 查看容器内部信息 一、Docker镜像 Docker 运行容器前需要本地存在对应的镜像, 如…

安装包逆向2

import os import struct import lzma import hashlibDEBUG False # 调试标志 BASE_ADDRESS 0x00120200 # 基地址偏移量# Base类,用于存储基地址的数据 class Base:def __init__(self):self.startFilePos 0 # 基地址在文件中的起始位置self.data bytearray(0…

【蓝桥杯嵌入式】按键控制LED与LCD(必考三件套)

【蓝桥杯嵌入式】按键控制LED与LCD(必考三件套) 前言LED相关功能的实现LED基础功能函数(点亮、全熄灭、翻转)LED的闪烁与定时点亮熄灭流水灯的实现 按键的扫描及长短按、双击的实现按键的短按按键业务逻辑程序进程按键的长短按长短…

1995-2021年各省分品种能源产量和消费量数据

1995-2021年各省分品种能源产量和消费量数据 1、时间:1995-2021年 2、来源:能源统计年鉴、各省年鉴 3、指标:能源消费总量、煤炭消费量、焦炭消费量、原油消费量、汽油消费量、煤油消费量、柴油消费量、燃料油消费量、天然气消费量、电力消…

让智能体像孩子一样观察别人学习动作,跨视角技能学习数据集EgoExoLearn来了

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 在探索人工智能边界时,我们时常惊叹于人类孩童的学习能力 —— 可以轻易地将他人…

Unity学习笔记 - 第一个Hello World都算不上的项目

一、Unity安装 这里不细说安装了,首先需要Visual Studio,然后要安装Unity Hub,Unity Hub就像一个管理平台,安装完它之后,可以在它的界面上选择安装各个版本的编辑器。 开始您的创意项目并下载 Unity Hub | Unity通过 …

【Qt 学习笔记】Qt 中出现乱码的解释及讨论

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt 中出现乱码的解释及讨论 文章编号:Qt 学习笔记 / 06 文…

Nginx配置之localhost和反向代理

文章目录 第一步、查看安装位置和配置文件第二步、web服务器设置第三步、localhost 指令第四步、设置反向代理 清明假期,在家练习Nginx配置,在前期【 linux环境下安装配置nginx代理服务器】已经完成nginx环境搭建,本期主要实践web服务器&…

副业选择攻略:如何找到最适合自己的那一个?

大家好,我是木薯。今天有个新人伙伴来咨询客服:新手适不适合在水牛社上做副业?什么样的副业适合自己? 这种问题其实对我们来说已经见得太多太多了,归其原因是因为自己对副业没有一个清晰的自我认知,从而感觉…

阿里千问大模型 Qwen1.5 开源 32B 模型,将开源进行到底!!!

阿里开源的千问系列模型,一直受到业界好评,之前版本有0.5B、1.8B、7B、14B、72B,但一直缺少的30B级别开源模型,这也一直是一个遗憾。 怎么说呢?72B模型太大,很多人用不起来,无论是微调&#xf…

基于JAVA+SSM+微信小程序+MySql+前后端分离的图书捐赠管理系统设计与实现

一、项目背景介绍: 在当今社会,图书捐赠是一种普遍而有益的行为,旨在促进阅读、教育和知识传播。图书捐赠可以帮助改善教育资源不足的地区、学校和社区的阅读环境,提供更多的学习机会和知识获取途径。随着互联网和移动技术的发展&…

pytorch交叉熵

目录 1. Entropy2. 交叉熵3. 二分类4. 为什么分类问题使用交叉熵5. 代码示例 1. Entropy Entropy中文是熵的意思,它代表一种不确定性,不确定性越高惊喜度也就越高。 如上图,假设熵代表中奖概率,当熵为2 的中奖概率为1/4没什么惊…

sharding‐jdbc之分库分表(mysql主从同步的数据库安装和使用)

水平分表 创建基础工程.. 引入sharding‐jdbc的maven依赖包 注意需要数据库连接池等依赖 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.0.0-RC1&l…

1.0-spring入门

文章目录 前言一、版本要求二、第一个spring程序1.引入pom2.代码部分2.1 spring bean2.2 springContext.xml2.3 测试2.4 执行结果 总结 前言 最近想要系统的学习下spring相关的框架,于是乎,来到了B站(真是个好地方),spring会专门开一个专栏出来,记录学习心得,与大家共勉。 Spri…

51-37 由浅入深理解 Stable Diffusion 3

2024年3月5日&#xff0c;Stability AI公开Stable Diffusion 3论文&#xff0c;Scaling Rectified Flow Transformers for High-Resolution Image Synthesis。公司像往常一样承诺后续将开源代码&#xff0c;开源之光&#xff01;&#xff01;&#xff01; 在LDW潜在扩散模型论文…