Python基础知识:整理7 字典的定义及其相关操作

news2025/1/18 3:16:34

1 字典的定义

# 1. 字典的定义
# 定义字典的字面量
# {key: value, key: value, ......, key: value}

# 定义字典变量
# my_dict = {key: value, key: value, ......, key: value}

# 定义空字典
# my_dict = {}
# my_dict = dict()

定义重复Key的字典

my_dict1 = {"张三": 18, "李四": 19, "张三": 20}
print(my_dict1)

从上述可以看出,字典中不允许重复的Key,如果有重复的Key,则会输出后面的。

2 从字典中获取数据

# 2. 从字典中获取数据
# 字典同集合一样,不能通过索引获取数据,但是字典可以通过 Key 值来取得对应的 value 值
my_dict2 = {"张三": 18, "李四": 19, "王五": 20}

print(my_dict2["张三"])  # 结果为18
print(my_dict2["李四"])  # 结果为19
print(my_dict2["王五"])  # 结果为20

3 字典的嵌套

# 3. 字典的嵌套
my_dict3 = {
    "张三": {"age": 18, "gender": "男"},
    "李四": {"age": 19, "gender": "男"},
    "王五": {"age": 20, "gender": "男"}
}

print(my_dict3["张三"]["age"])  # 结果为18
print(my_dict3["李四"]["gender"])  # 结果为男
print(my_dict3["王五"]["age"])  # 结果为20

 

4 在字典中新增元素

# 语法: 字典[key] = value
my_dict4 = {"张三": 18, "李四": 19, "王五": 20}
my_dict4["赵六"] = 21
print(my_dict4)  # {"张三": 18, "李四": 19, "王五": 20, "赵六": 21}

5 更新元素

# 语法:  字典[key] = value
my_dict5 = {"张三": 18, "李四": 19, "王五": 20}
my_dict5["张三"] = 22
print(my_dict5)  # {"张三": 22, "李四": 19, "王五": 20}

注意:字典中的Key不能重复,如果Key不存在则是新增,如果存在,则是更新


6 删除元素

# 语法: 字典.pop(key)  => 结果:获得指定Key的value值,并从字典中删除该元素
my_dict6 = {"张三": 18, "李四": 19, "王五": 20}
my_dict6.pop("李四")
# print(my_dict6.pop("李四"))  # 19
print(my_dict6)   # {"张三": 18, "王五": 20}

7 清空元素

# 语法: 字典.clear()
my_dict7 = {"张三": 18, "李四": 19, "王五": 20}
my_dict7.clear()
print(my_dict7)  # 结果为{}

8 获取全部的Key

# 语法: 字典.keys()
my_dict8 = {"张三": 18, "李四": 19, "王五": 20}
keys = my_dict8.keys()
print(keys)  # dict_keys(['张三', '李四', '王五'])

获取所有的values

print(my_dict8.values())  # dict_values([18, 19, 20])

 

9 遍历字典

方式1:通过获取到全部的key来进行遍历

for key in keys:
    print(key)
    print(my_dict8[key])
print("----------------------")

方式2:直接对字典进行for循环

# 直接对字典进行for循环, 每一次循环都是直接得到key
for key in my_dict8:
    print(key)
    print(my_dict8[key])
print("----------------------")

 

10 统计字典中元素的个数

num = len(my_dict8)
print(num)  # 3

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

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

相关文章

随机输一次

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现要求你编写一个控制赢面的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方意识到你在控制结果,你需要隔 K …

电脑文件mfc100u.dll丢失的解决方法分析,怎么修复mfc100u.dll靠谱

mfc100u.dll丢失了要怎么办?其实很多人都遇到过这样的电脑故障吧,说这个mfc100u.dll文件已经不见了,然后一些程序打不开了,那么这种情况我们要怎么解决呢?今天我们就来给大家详细的说说mfc100u.dll丢失的解决方法。 一…

Redis入门-redis的五大数据类型+三种特殊的数据类型

前言:Redis有五大基本类型与三种特殊类型的介绍 Redis有五大基本类型:字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(sorted se…

ATTCK视角下的信息收集:Sysmon检测

目录 1、简介 2、使用Sysmon 3、检测Sysmon是否安装运行 4、检测Sysmon是否被卸载 5、使Sysmon在终端隐匿运行的技术 1、简介 Sysmon(系统监视器)是由windows sysinternals 出品的Sysinternals 系列工具中的一个 它是windows系统服务和设备驱动程…

VMware通过微PE安装window XP系统

软/硬件版本:微PE V1.3、VMware Workstation 12 Pro、windows xp professional sp3 目录:①不成功的3点原因;②安装教程 安装不成功的原因有3点: 1、VMware磁盘格式选择IDE,否则系统安装界面将出现0x0000007B错误代码。…

【机器学习】常见算法详解第2篇:K近邻算法各种距离度量(已分享,附代码)

本系列文章md笔记(已分享)主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习,伴随浅显易懂的数学知识,让大家掌握机器学习常见算法原理,应用Scikit-learn实现机器学习算法的应用&#xff0…

k8s源码阅读环境配置

源码阅读环境配置 k8s代码的阅读可以让我们更加深刻的理解k8s各组件的工作原理,同时提升我们Go编程能力。 IDE使用Goland,代码阅读环境需要进行如下配置: 从github上下载代码:https://github.com/kubernetes/kubernetes在GOPATH目…

YOLOv3算法较YOLOv1及YOLOv2的区别

yoloV3以V1,V2为基础进行的改进,主要有:利用多尺度特征进行目标检测;先验框更丰富;调整了网络结构;对象分类使用logistic代替了softmax,更适用于多标签分类任务。 3.1算法简介 YOLOv3是YOLO (You Only Lo…

Python基础语法(上)——基本语法、顺序语句、判断语句、循环语句(有C++基础快速掌握Python语言)

文章目录 0.python小技巧与易错点1.python 与 c 语法有哪些区别2.Python基本语法2.1python的变量类型2.2python中的运算符2.3python中的表达式2.4python中的输入输出 3.python判断语句3.1基本用法:3.2关于else if 的用法3.3关于pass语句3.4python变量的作用域3.5pyt…

2024年1月9日

2024年1月9日09:26:57待在工作室玩千恋万花和登录PTA练习习题 2024年1月9日09:28:02判断素数肯定会成为考试的关键点之一 2024年1月9日15:13:49完成java的复习 2024年1月9日15:16:41判断反馈类型 2024年1月9日15:20:29行列式求系数通过沙路法展开得到 2024年1月9日15:21:1…

【leetcode】力扣算法之删除链表中倒数第n个节点【中等难度】

删除链表中倒数第n个节点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 用例 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 输入:head [1], n 1 输出:[] 输入:head …

【OSG案例详细分析与讲解】之二:【着色文件转换为字符数组】

文章目录 一、【着色文件转换为字符数组】前言 二、【着色文件转换为字符数组】Shader转换 三、【着色文件转换为字符数组】转换函数 1.转换函数 2.字符替换函数 四、【着色文件转换为字符数组】示例 1.GLSL2Cpp.cpp文件: 2.Qt pro文件: 五、【着色文件转…

知识点整理[(GraphGeo) DATA AND PROBLEM DEFINITION]

3 DATA AND PROBLEM DEFINITION 3.1 Data Collection 问题一:IP定位数据集构成 回答: 包含数以百万计的IP地址,这些IP地址包括: (1)它们具有自己的知识(如自主系统(AS)和WHOIS数据); (2)网络测量

Python-抖音无法拒绝的表白代码【附源码】

一个无法被拒绝的表白代码 运行效果: 一:主程序: import sys import cfg import random import pygame from tkinter import Tk, messagebox Function:按钮类 Initial Args:--x, y: 按钮左上角坐标--width, height: 按钮宽高--text: 按钮显…

Vant2组件库van-list+Toast下拉加载滚动条回顶问题

目录 List 列表 Toast 轻提示 解决方案 1、不使用 Toast 的 加载提示 2、修改调整 pointer-event 属性值 3、判断是否为第一次加载再使用 背景 &#xff1a; 移动端项目 开发时&#xff0c;有数据长列表展示的场景需求&#xff0c;此时就用到了 Vant2 组件库里面的 <v…

【信息安全】深度分析邮件安全及钓鱼攻击防范

本博文共计3100余字&#xff0c;预计需阅读20分钟 【邮件安全建设】 一、前言 邮件系统作为企业办公网络架构中重要的组成部分&#xff0c;同时也是业务高频使用的办公应用&#xff0c;一旦出现安全问题&#xff0c;业务将会被严重干扰甚至中断&#xff0c;本篇博客通过攻守两…

react中实现拓扑图

react中实现拓扑图关系图 需求echarts代码react代码 需求 项目中的原型图需要使用react实现一个拓扑图&#xff08;关系图&#xff09; 通过查找&#xff0c;找到了可以使用的类似的原型&#xff1a;以下图片地址。 通过项目需要以及修改&#xff0c;形成了下边的样式 echar…

Java--业务场景:获取请求的ip属地信息

文章目录 前言步骤在pom文件中引入下列依赖IpUtil工具类在Controller层编写接口&#xff0c;获取请求的IP属地测试接口 IpInfo类中的方法 前言 很多时候&#xff0c;项目里需要展示用户的IP属地信息&#xff0c;所以这篇文章就记录一下如何在Java Spring boot项目里获取请求的…

Java--业务场景:在Spring项目启动时加载Java枚举类到Redis中(补充)

文章目录 前言步骤测试结果 前言 通过Java–业务场景&#xff1a;在Spring项目启动时加载Java枚举类到Redis中,我们成功将Java项目里的枚举类加载到Redis中了&#xff0c;接下来我们只需要写接口获取需要的枚举值数据就可以了&#xff0c;下面一起来编写这个接口吧。 步骤 在…

[算法与数据结构][c++][python]:C++与Python中的赋值、浅拷贝与深拷贝

C与Python中的赋值、浅拷贝与深拷贝 写在前面&#xff1a;Python和C中的赋值与深浅拷贝&#xff0c;由于其各自语言特性的问题&#xff0c;在概念和实现上稍微有点差异&#xff0c;本文将这C和Python中的拷贝与赋值放到一起&#xff0c;希望通过对比学习两语言实现上的异同点&a…