小节6:Python字典dict

news2024/12/22 23:12:36

1、字典的键必须时不可变数据类型,所以列表list不能作为键key,那怎么办呢?Python为我们准备了一个很像列表,却又不可变的数据类型——元组tuple,通常用元组tuple来作为键。比如:

contact_dict = {("张伟", 23): "13309809067",
                ("张伟", 24): "13309809067",
                ("张伟", 26): "13309809067"}

print(contact_dict)

2、字典的key是用来查找值的,通常用dict_name["key"]来查找对key应的值

3、字典中,不能有同样的键,否则只能打印最后的那个,比如:

dict1 = {"张伟": 23, "张伟": 24, "张伟": 21}
print(dict1)

输出:

更新值也是一样,如果那个键在字典中已经存在,那么我们存入的内容就会覆盖掉之前的键值对。

4、如果想知道某个键是否已存在于字典中,键 in 字典 会返回一个bool值,存在返回True,不存在返回False

5、要删除一个键值对,可以用 del 字典[key],如果字典中,这个键本身就不存在,则会报错。

6、通过len()函数,可以知道字典中有多少键值对

7、通过for循环迭代字典的三种形式:

1)对字典的键key进行迭代:

contact_dict = {("张伟", 23): "13309809067",
                ("张伟", 24): "13309809067",
                ("张伟", 26): "13309809067"}

for k in contact_dict.keys():
    print(k)

输出:

2)对字典的值value进行迭代:

contact_dict = {("张伟", 23): "13309809067",
                ("张伟", 24): "13309809067",
                ("张伟", 26): "13309809067"}

for v in contact_dict.values():
    print(v)

3)对字典的item()进行迭代(即:key和value一起迭代)

contact_dict = {("张伟", 23): "13309809067",
                ("张伟", 24): "13309809067",
                ("张伟", 26): "13309809067"}

for k, v in contact_dict.items():
    print(k)
    print(v)

8、字典中的dict.keys(),dict.values()和dict.items()都是什么类型的数据?

contact_dict = {("张伟", 23): "13309809067",
                ("张伟", 24): "13309809067",
                ("张伟", 26): "13309809067"}
ks_type = type(contact_dict.keys())
print(f"字典.keys()类型是{ks_type}")
vs_type = type(contact_dict.values())
print(f"字典.values()类型是{vs_type}")
itms_type = type(contact_dict.items())
print(f"字典.values()类型是{itms_type}")

输出:

由此可见,字典中,keys(),values(),items()方法都有它们各自的数据类型,它们既不是列表,也不是元组。

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

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

相关文章

简单的洗牌算法(Java)

目录 一、问题二、创建一个Poker类三、完成游戏内容四、测试五、总结 简单的洗牌算法是对ArrayList的具体使用 一、问题 我们需要一副完整的扑克牌,除去大小王一共52张牌,参与游戏的玩家共3名,在洗牌后分发每名玩家5张扑克牌。 二、创建一…

Prometheus+Grafana可视化监控【MySQL状态】

文章目录 一、Prometheus监控MySQL二、Grafana添加MySQL监控模板 PrometheusGrafana部署请参考上篇文章: PrometheusGrafana部署: 一、Prometheus监控MySQL 1、创建MySQL监控用户 mysql> create user "prometheus""%" identified by NTQ34tg*19VF; m…

Java——比较器

引入的背景 我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,直接使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。那么,如何解决这个问题呢? 在Java中经常会涉…

[杂谈]-从硬件角度理解二进制数

从硬件角度理解二进制数 文章目录 从硬件角度理解二进制数1、概述2、模拟电路3、数字电路4、逻辑电平5、TTL 器件的电压水平6、总结 1、概述 二进制数以 2 为基数系统表示,该系统只有两 (2) 个不同的数值,即 0 和 1。就像最常见的那样,十进制…

C 风格文件输入/输出---无格式输入/输出---(std::fgetc,std::getc,std::fgets)

C 标准库的 C I/O 子集实现 C 风格流输入/输出操作。 <cstdio> 头文件提供通用文件支持并提供有窄和多字节字符输入/输出能力的函数&#xff0c;而 <cwchar>头文件提供有宽字符输入/输出能力的函数。 无格式输入/输出 从文件流获取字符 std::fgetc, std::getc …

Python引入模块——拿着别人的代码做自己的项目

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 本文专栏&#xff1a;Python专栏 专栏介绍&#xff1a;本专栏为免费专栏&#xff0c;并且会持续更新python基础知识&#xff0c;欢迎各位订阅关注。 目录 一、什么是Python模块 二、Python模块的作用 三、Py…

cmd 90 validate error!(达梦数据库日志报错)

达梦数据库报错 error-cmd 90 validate error! 环境介绍1 解决办法 环境介绍 某生产环境数据库启动后&#xff0c;dm_实例名_202309.log&#xff0c;偶尔报错cmd 90 validate error! 1 解决办法 接口用错了&#xff0c;消息非法&#xff0c;比如用 6 的 JDBC 连 7 或 7 的 …

C++QT 作业5

#include <iostream> #define PI 3 using namespace std; class Shape { protected:int zc;int mj; public:Shape(){}Shape(int z,int m):zc(z),mj(z){}~Shape(){}Shape(const Shape &other):zc(other.zc),mj(other.mj){cout<<"拷贝构造函数"<<…

【买入看涨期权策略(Long Call)】

买入看涨期权策略的收益主要来源于标的资产价格的上涨&#xff0c;是一种基础的期权策略&#xff0c;该策略最大的吸引力在于能给投资者提供很大程度的杠杆&#xff0c;投资者能够在标的资产价格上涨幅度较小的时候获得较大的盈利&#xff0c;并且其对应的风险值不会超过一个固…

骨传导耳机对大脑有影响吗?骨传导耳机到底好不好

先上结论&#xff0c;骨传导耳机对大脑没有影响。骨传导耳机使用的是骨传导技术&#xff0c;声音是通过头骨骨头和颌骨给内耳传递的&#xff0c;而不是通过传统的空气传播&#xff0c;它将声音传输到颅骨&#xff0c;然后透过骨头振动直接刺激内耳&#xff0c;绕过外耳和中耳。…

LINUX 网络管理

目录 一、NetworkManager的特点 二、配置网络 1、使用ip命令临时配置 1&#xff09;查看网卡在网络层的配置信息 2&#xff09;查看网卡在数据链路层的配置信息 3&#xff09;添加或者删除临时的网卡 4&#xff09;禁用和启动指定网卡 2、修改配置文件 3、nmcli命令行…

小程序中如何给会员一键拨号

一键拨号功能是一个非常实用的功能&#xff0c;商家可以快速与会员取得联系。下面&#xff0c;我们将介绍如何在小程序中实现一键拨号功能。 1. 会员绑定手机号。会员在个人中心点击设置按钮&#xff0c;在手机号码处&#xff0c;点击一键输入手机号。也可以在提交订单页面&am…

多寄存器内存访问指令的寻址方式

多寄存器内存访问 注意使用的是大括号 将R1-R4寄存器中的数据存储到内存以R11为起始地址的内存中 LDM同样适用 当寄存器不连续时&#xff0c;使用逗号分隔 例 STM R11,{R1,R2,R4} 不管寄存器列表中寄存器的顺序如何&#xff0c;存到内存中永远都是小编号的寄存…

Coovally模型探索:一键下载Hugging Face预训练模型并集成应用

Coovally是一个包含完整AI建模流程、AI项目管理及AI系统部署管理的机器学习平台&#xff0c;可提供数据预处理、智能标注、分布式模型训练、多维度模型评估、一键式模型部署服务。 Coovally支持图像、文本、表格、时间序列等不同类型数据的深度学习和应用&#xff0c;快速实现…

MinIO是什么?如何使用

哈喽&#xff01;大家好&#xff0c;我是旷世奇才李先生 文章持续更新&#xff0c;可以微信搜索【小奇JAVA面试】第一时间阅读&#xff0c;回复【资料】更有我为大家准备的福利哟&#xff0c;回复【项目】获取我为大家准备的项目 文章目录 一、MinIO介绍1、简介2、优缺点 二、M…

类和对象(1)

文章目录 1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符和封装4.1访问限定符4.2封装 5.类的作用域6.类的实例化6.2结构体内存对齐规则 7.this指针7.2this指针的特性 封装&#xff08;补充&#xff09; 1.面向过程和面向对象初步认识 C面向对象但不纯面向…

推荐几款实用的Google浏览器插件

推荐几款实用的Google浏览器插件 1. 阅读翻译插件1.1 Google 翻译1.2 DeepL翻译&#xff08;适合大段落&#xff09; 2. 视频字幕翻译插件2.1 YouTube™ 双字幕2.2 Dualsub——实现双字幕 3. 评论翻译插件3.1 油管评论翻译机 4. Infinity 新标签页 (Pro)5. 附加其他5.1 Octotre…

JDK20 + SpringBoot 3.1.0 + JdbcTemplate 使用

JDK20 SpringBoot 3.1.0 JdbcTemplate 使用 一.测试数据库 Postgres二.SpringBoot项目1.Pom 依赖2.配置文件3.启动类4.数据源配置类5.实体对象类包装类6.测试用实体对象1.基类2.扩展类 7.测试类 通过 JdbcTemplate 直接执行 SQL 语句&#xff0c;结合源码动态编译即可方便实现…

复现SCI文章系列教程 | 文章复现一(IF 7.3):文章讨论与文章分析套路讲解

一、本期复现文章 本系列教程从今天开始&#xff0c;前面想做&#xff0c;但是又没时间。作为佛系博主的我来说&#xff0c;这个系列教程算是一个长久的计划。会涉及医学和植物两大类。本系列教程详细情况可以看《复现SCI文章系列教程》. 我们第一篇复现的文章寻找的是的来自…

Spring MVC:请求转发与请求重定向

Spring MVC 请求转发请求重定向附 请求转发 转发&#xff08; forward &#xff09;&#xff0c;指服务器接收请求后&#xff0c;从一个资源跳转到另一个资源中。请求转发是一次请求&#xff0c;不会改变浏览器的请求地址。 简单示例&#xff1a; 1.通过 String 类型的返回值…