Python(字典)

字典根据一个信息查找另外一个信息,也是可变数据类型,底层元素是无序的,第一个添加的元素,地址不一定在第一位,键只能有一个不能重复,但是值可以重复,字典当中的键要求是不可以变的数据类型(因此列表不可以做为键)

对字典可以进行的基本操作:

d = dict(cat=40, dog=10)# 打印字典中的键值对
print('键值对:', d.items())# 打印字典中的键
print('键:', d.keys())# 打印字典中的值
print('值:', d.values())# 获取特定键的值
print('cat 的值:', d.get('cat')) # 添加新的键值对
d['bird'] = 5# 修改现有键的值
d['dog'] = 15# 删除键值对
del d['cat'] # 再次打印字典
print('修改后的字典:', d)

创建字典的方法:

第一种:使用{}

第二种:使用内置函数dict()

zip(lst1,lst2):lst1作为键,lst2作为值

#使用{}
d={10:'cat',20:'dog',10:'pig'}
print(d)#当key相同时,value进行了覆盖#使用zip函数
lst1=[10,20,30,40]
lst2=['cat','dog','pig']
zipobj=zip(lst1,lst2)
print(zipobj)#####<zip object at 0x000001A3FC387900>
print(list(zipobj))######[(30, 'cat'), (20, 'dog'), (30, 'pig')]
#方法三,将其转换为字典类型,进行以下步骤以前应该将前面print(list(zipobj))注释
d=dict(zipobj)
print(d)#方法4使用参数创建字典
d=dict(cat=10,dog=20)
print(d)#元组作为键
t=(10,20,30)
print({t:10})
#列表作为键,程序报错,列表为可变数据类型不可以作为键使用
lst=[10,20,30]
print(lst)
d=dict(cat=40,dog=10)#字典属于序列
print('max:',max(d))
print('min:',min(d))
print('len:',len(d))# max: dog,大小与后面的值咩有关系,与cat和dog的首字母有关系
# min: cat
# len: 2
d={'hello':10,'money':20,'python':30}
#访问字典当中的元素
#(1)使用d[key]
print(d['hello'])
#(2)d.get(key)
print(d.get('hello'))#二者之间是有区别的,如果key不存在,d[key]报错,d.get(key)仍然可以指定默认值print(d.get('java'))#输出None
print(d.get('java','不存在'))#输出不存在,即直接将将不存在赋给了Java
print(d['java'])#直接报错
d={'hello':10,'money':20,'python':30}
#访问字典当中的元素
#(1)使用d[key]
print(d['hello'])
#(2)d.get(key)
print(d.get('hello'))#二者之间是有区别的,如果key不存在,d[key]报错,d.get(key)仍然可以指定默认值print(d.get('java'))#输出None
print(d.get('java','不存在'))#输出不存在,即直接将将不存在赋给了Java#字典的遍历
for item in d.items():print(item)#key=value组成的一个元素,注意这里是items#在使用for循环遍历时,分别获取key,value
for key,value in d.items():print(key,value)

字典的相关操作方法 

字典的方法描述说明
d.key()获取所有的key数据
d.values()获取所有的value数据
d.pop(key.default)key存在获取相应的value,同时删除key-value对,否则获取默认值
d.popitem()随机从字典中取出一个key—value对,结果为元组类型,同时将该key—value从字典中删除
d.clear()清空字典中所有的key-value
d={101:'ll',102:'lz',103:'az'}
print(d)#向字典中添加元素
d[104]='sz'
print(d)#获得字典中所有的key
keys=d.keys()
print(keys)#结果为:dict_keys([101,102,103,104])
print(list(keys))
print(tuple(keys))#获取字典中所有的value
values=d.values()
print(values)#dict_values(['ll', 'lz', 'az', 'sz'])
print(list(values))#列表为[]
print(tuple(values))#元组为()
#key-->value
lst=list(d.items())
print(lst)#先转换为字典类型再使用pop()函数
d=dict(lst)
print(d)print(d.pop(101))
print(d)print(d.pop(100,'不存在'))#随机删除
print(d.popitem())
print(d)#清空字典中所以的元素
d.clear()
print(d)

字典的生成式

import random
d={item:random.randint(1,100) for item in range(4)}
print(d)#映射类型
lst=[101,102,103]
lst2=['ll','ww','dd']
d={key:value for key,value in zip(lst,lst2)}
print(d)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第6章 单片机的定时器/计数器

6.1 定时/计数器的结构与工作原理 6.2 定时器的控制 6.3 定时/计数器的工作方式 6.4 定时/计数器的编程和应用 6.1 定时/计数器的结构与工作原理 6.1.1 定时/计数器的基本原理 纯软件定时/计数方法&#xff1a; 定时——空循环预定周次&#xff0c;等待预定时间 计数—…

【Qt】之【Bug】error:C1083 无法打开包括文件

背景 a.cpp引用b.h正常&#xff0c;但是a.h引用b.h就报 “无法打开包括文件”的错误 分析 查看“编译输出”&#xff0c;显示不是a.h引起的错误&#xff0c;而是C插件&#xff0c; 查看后发现&#xff0c;C插件引用了a所在插件pro&#xff0c;但是没有引用a依赖的b所在的插件…

Axure中继器进阶指南:打造专业级交互

中继器进阶篇 前言 经过了基础篇的学习,我们已经掌握了中继器的基本操作,接下来来解锁中继器的进阶操作。 1. 修改删除指定行 首先拖入中继器,加上【修改】 【删除】的按钮,然后给修改按钮添加单击事件选择【更新行】。 这里可以看到我们在中继器内部添加的事件,在编…

IDEA关联数据库

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试&#xff08;Debug&#xff09; 第七章 …

2024-07-16 Unity插件 Odin Inspector7 —— Number Attributes

文章目录 1 说明2 Number 特性2.1 MaxValue / MinValue2.2 MinMaxSlider2.3 ProgressBar2.4 PropertyRange2.5 Unit2.6 Wrap 1 说明 ​ 本文介绍 Odin Inspector 插件中有关 Number 特性的使用方法。 2 Number 特性 2.1 MaxValue / MinValue 在 Inspector 窗口中对象能够被设…

LLM 构建Data Multi-Agents 赋能数据分析平台的实践之④:数据分析之三(数据展示)

概述 在先前探讨的文章中&#xff0c;我们构建了一个全面的数据测试体系&#xff0c;该体系遵循“数据获取—数据治理—数据分析”的流程。如何高效地构建数据可视化看板&#xff0c;以直观展现分析结果&#xff0c;正逐渐成为利用新兴技术提升效能的关键领域。伴随业务拓展、数…

java json 实体互转 null现象

结论 相对于json字符串转为实体&#xff0c;再转回为json字符串&#xff0c;更接近高保真的是 “com.google.gson.Gson {}”, new GsonBuilder().create().toJson(bo1)); 和 “com.alibaba.fastjson.JSON {}”, JSON.toJSONString(bo1)); 代码 BusinessInsertBO bo Business…

《驾驭AI浪潮:伦理挑战与应对策略》

AI发展下的伦理挑战&#xff0c;应当如何应对&#xff1f; 人工智能飞速发展的同时&#xff0c;也逐渐暴露出侵犯数据隐私、制造“信息茧房”等种种伦理风险。随着AI技术在社会各个领域的广泛应用&#xff0c;关于AI伦理和隐私保护问题日趋凸显。尽管国外已出台系列法规来规范…

YOLOv7网络结构学习

YOLOV7详细解读&#xff08;一&#xff09;网络架构解读 YOLOV7学习记录之原理代码介绍 【Make YOLO Great Again】YOLOv1-v7全系列大解析&#xff08;Backbone篇&#xff09; yolov7 图解 深入浅出 Yolo 系列之 Yolov7 基础网络结构详解 我觉得Head、Neck和Head的划分不太…

从产品手册用户心理学分析到程序可用性与易用性的重要区别

注&#xff1a;机翻&#xff0c;未校对。 Designing for People Who Have Better Things To Do With Their Lives 为那些生活中有更重要事情要做的人设计 When you design user interfaces, it’s a good idea to keep two principles in mind: 在设计用户界面时&#xff0c;…

FTPS 和 SFTP

FTPS 和 SFTP 都是用于安全文件传输的协议&#xff0c;但它们之间存在一些关键的区别&#xff0c;包括它们如何实现安全性、工作方式以及与 FTP 的关系。下面是关于这两种协议的详细信息&#xff1a; FTPS (FTP over SSL/TLS) FTPS 是 FTP 协议的扩展&#xff0c;它通过在 FT…

三大ip代理服务商PK,IPFoxy黑马逆袭成首选?

最近亚马逊的Prime Day ,小编我呀忙得不可开交。因为小编负责的店铺数量多且需要稳定的长期连接&#xff0c;我用某一海外ip代理竟然不稳定&#xff0c;这还是号称老牌的ip代理服务商&#xff0c;因为它的漏洞&#xff0c;让我加班了好久处理工作上的问题。 吃一堑&#xff0c…

RPA鼠标按键使用技巧

RPA鼠标按键使用技巧 Mouse.MouseAuto.Action命令出错&#xff0c;调用的目标发生了异常&#xff0c;Exception in Mouse.Action元素不可用怎么解决 出现问题 1.想要实现的效果鼠标移动到录屏工具的小球上2.点击开始按钮开始录屏现象&#xff0c;鼠标没有移动痕迹&#xff0c…

【C++】C++ 职工信息管理系统(源码)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

C++系列-Vector模拟实现(补充)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 迭代器失效 这篇文章是基于上一篇的Vector的模拟实现的补充知识点&#xff0c;首先我们需要重点关注的便是迭代器失效的问题。 void test_vector3(){std::vector<int> v…

【C++】类与对象的学习(中)

目录 一、默认成员函数&#xff1a; 二、构造函数&#xff1a; 1、定义&#xff1a; 2、理解&#xff1a; 三、析构函数&#xff1a; 1、定义&#xff1a; 2、理解&#xff1a; 四、拷贝构造&#xff1a; 1、定义&#xff1a; 2、理解&#xff1a; 五、运算符的重载&…

抖音视频素材是哪里找的?热门的抖音素材网站分享

抖音视频创作高手们&#xff0c;你们是否在寻找下一个爆款视频的完美素材&#xff1f;今天&#xff0c;我将为你们介绍几个优质的视频素材网站&#xff0c;确保你们能在素材的海洋中轻松找到那最耀眼的“珍珠”&#xff01; 蛙学网 首先&#xff0c;我们要推荐的是蛙学网。这个…

[C/C++入门][for]23、求阶乘

阶乘 一个正整数的阶乘是所有小于及等于该数的正整数的积&#xff0c;并且0的阶乘为1。 自然数n的阶乘写作n!。 即n!123...(n-1)n。阶乘亦可以递归方式定义&#xff1a;0!1&#xff0c;n!(n-1)!n。 例如&#xff0c;5的阶乘&#xff08;记作5!&#xff09;等于5 * 4 * 3 * …

Go语言并发编程-同步和锁

同步和锁 概述 同步是并发编程的基本要素之一&#xff0c;我们通过channel可以完成多个goroutine间数据和信号的同步。 除了channel外&#xff0c;我们还可以使用go的官方同步包sync&#xff0c;sync/atomic 完成一些基础的同步功能。主要包含同步数据、锁、原子操作等。 一…

13. C++继承 | 详解 | 虚拟继承及底层实现

目录 1.定义 1.1继承的概念 1.2 继承的定义 2. 对象赋值转换 3. 继承中的作用域 a. 隐藏/重定义 (Hiding/Redefinition) b. 重载 (Overloading) c. 重写/覆盖 (Overriding) d. 编译报错 (Compilation Error) 4. 派生类的默认成员函数 构造 拷贝构造 运算符重载 析…