首页 > 编程语言 >python容器四之字典

python容器四之字典

时间:2024-09-14 20:48:51浏览次数:11  
标签:容器 变量 python 元素 name print teacher 字典

文章目录

1. 字典介绍

先来看看现实生活中的字典。我们知道,可以应用字典来查找汉字。
在这里插入图片描述
在这里插入图片描述
接着,来看看Python中的字典。比如,定义一个本书:

{"name":"新华字典","page":568,"price":46.5}

仔细观察,会发现Python字典需要使用{ }引起来,且元素形式为键值对。
键值对,可以理解为一一对应的关系,即可以通过键找到值。

字典语法:

变量名 = {键1: 值1, 键2: 值2, ...}

== 注意==:

  • 键、值组合在一起,形成了字典的元素;

  • 字典元素的键是唯一的

  • 字典元素的值可以重复

  • 可以使用字典存储大量数据。
    实例:
    (1)定义一个字典变量,存放一个学生的信息:姓名、性别、住址、年龄等;

(2)输出并查看字典变量值与类型;

(3)思考1:若给字典变量存放两个性别信息,会怎样?

(4)思考2:若给字典变量再存放一个薪酬,与年龄值相同,会怎样?

# 1.定义字典变量
student = {"name":"欧阳芝","sex":"女","address":"广东广州","age":16}
# 2.查看类型和变量值
print(type(student))  # <class 'dict'>
print(student)
# 3.存放两个性别?  sex  键唯一?
student = {"name":"欧阳芝","sex":"女","address":"广东广州","age":16,"sex":"Female"}
print(student)   # 键是唯一的,如果有多个相同的键, 最后的键会把前面的键所对应的值都给覆盖了
# 4.value多个
student = {"name":"欧阳芝","sex":"女","address":"广东广州","age":16,"salary":16}
print(student)  # 值可以重复

总结:
字典与列表类似,都属于可变数据类型,即当添加元素后,长度也跟着变化。

2. 使用字典

通常情况下,使用字典的是获取元素键值对的值。

通过键来访问值的方式有两种。方式1:

变量名[键]

当访问不存在的键时,提升稳定性,可使用方式2:

函数名含义
get(key[, default])返回指定键key对应的值,若值不在字典中,则返回默认值。

实例:
(1)定义一个字典变量,存放一个学生的信息:姓名、住址、年龄等;

(2)分别使用不同方式去获取字典的姓名、住址值;

(3)思考:当访问不存在的性别信息时,会怎样?

# 1.定义变量
student = {"name":"小明","address":"广东广州","age":16,"sex":"Female"}
# 2.获取值
print(student["name"])
print(student["address"])  # 可以通过键来访问值

# 3.访问不存在的值
print(student["sex"])
print(student.get("sex"))   # 1. None   2.不报错
print(student.get("sex","女"))

3. 字典的常见操作

3.1 添加元素

添加元素指的是:给字典添加新元素内容。

添加元素语法:

变量名[键] = 值

说明:当要添加多个元素时,则执行多次添加元素的操作。

实例:
(1)定义一个字典变量,存放老师信息:姓名、体重、年龄等;

(2)给老师变量添加一个兴趣爱好;

(3)思考:若给一个空字典添加2个元素,该怎么做?

(4)执行程序,观察效果。

# 1.定义变量
teacher = {"name":"teacher1","weight":95,"age":40}
print(teacher)
# 2.添加一个元素
teacher["gender"] = "男"
print(teacher)

# 3.空字典添加2个元素
teacher = {}
teacher["name"] = "teacher2"
teacher["like"] = "爱好工作"
print(teacher)
print(type(teacher))

注意
字典中的元素不分先后顺序,可任意存储字典的数据。

3.2 删除元素

删除元素指的是:删除字典的某元素,或者清空字典的所有数据。

删除元素方法:

函数名含义
del 变量名[键]删除指定元素。
clear()清空字典的所有元素内容。

当要添加新的纯净数据前,要先把原有数据做清空处理。

实例:
(1)定义一个字典变量,存放老师信息:姓名、体重、年龄等;

(2)试着删除字典的体重元素;

(3)思考:当要给字典变量重新添加数据时,该怎么办?

teacher = {"name":"teacher1","weight":95,"age":40}
# 1.删除体重
del teacher["weight"]
print(teacher)

# 2.重新添加数据
teacher.clear()
print(teacher)

总结:

(1)对于删除字典的元素数据,使用较少,了解即可;

(2)注意:在实际应用中,若需要重新给字典变量添加新数据,建议先使用clear()清空数据。

3.3 修改元素

修改元素指的是:对已有元素进行修改,当成功修改后,则会用最新修改的值替换原有值。

修改元素语法:

变量名[键] = 值

实例:
(1)定义一个字典变量,存放老师信息:姓名、体重、年龄等;

(2)修改字典变量的姓名、体重值。

teacher = {"name":"teacher1","weight":95,"age":40}
# 修改姓名
teacher["name"] = "teacher2"
# 修改体重
teacher["weight"] = 110
print(teacher)

3.4 查找元素

查找元素指的是:通过键来访问值。

比如,访问值的方式有两种:

变量名[键]
函数名含义
get(key[, default])返回指定键key对应的值,若值不在字典中,则返回默认值。

实例:
(1)定义一个字典变量,存放老师信息:姓名、体重、年龄等;

(2)使用两种方式来查看老师的姓名、年龄。

teacher = {"name":"teacher1","weight":95,"age":40}
print(teacher["name"])
print(teacher.get("age"))   # 若报错,则优先考虑使用get()

4. 字典遍历方法

当要遍历字典的元素内容,即获取字典的键、值。

常用方法:

函数名含义
keys()以列表的形式,返回一个字典所有的键。
values()以列表的形式,返回一个字典所有的值。
items()返回由键值组成的序列,主要应用于遍历字典。

为便于理解几个方法,可简要理解为:
在这里插入图片描述

4.1 遍历字典元素

keys()方法:

函数名含义
keys()以列表的形式,返回一个字典所有的键。

values()方法:

函数名含义
values()以列表的形式,返回一个字典所有的值。

items()方法:

函数名含义
items()返回由键值组成的序列,主要应用于遍历字典。

实例:
(1)定义一个字典变量,存放一个学生的信息:姓名、住址、年龄等;

(2)获取字典变量中的所有键,并输出【键 --> 值】形式结果;

(3)获取字典变量中的所有值并输出;

(4)获取字典变量中的所有键、值序列;

(5)执行程序,观察效果。

datas = {"name": "张三丰", "address": "武当山", "age": 147}

# 1.keys()
for key in datas.keys():
    print(f"{key} --> {datas.get(key)}")

# 2.values()
for value in datas.values():
    print(value)

# 3.items()
for item in datas.items():
    print(item)

for item in datas.items():
    key = item[0]
    value = item[1]
    print(f"{key} --> {value}")

5. 公共运算符

公共运算符指的是:可以运用于Python容器的一些通用方法。

常见公共运算符:

运算符描述支持的容器类型
+合并字符串、列表、元组
*复制字符串、列表、元组
in元素是否存在字符串、列表、元组、字典
not in元素是否不存在字符串、列表、元组、字典

实例:
(1)定义字符串变量,并完成+、*的运算操作;

(2)定义列表变量,并完成in、not in的运算操作。

# 1.定义字符串, +  *
strs = "Hello"
ret1 = strs + "WORLD"
print(ret1)
print(strs*6)
print("-"*40)

# # 提问
lists = [1,2,3]*2
# # A.[2,3,6]  B.[1,2,3,1,2,3]
print(lists)

# 2.定义列表, in    not in
datas = [1,2,3,[13],100]   # 嵌套列表
print(1 in datas)
print(13 in datas)  # False
print([13] in datas)
print("hello" in datas)

6. 公共方法

公共方法指的是:能适用于Python容器的一些通用方法。

常见公共方法:

描述
len(s)计算容器中的元素总个数
del删除
max()返回容器中元素最大值
min()返回容器中元素最小值

实例:
(1)定义一个列表变量,内容为:10、300、20、200、30、100、0;

(2)获取列表变量的总长度;

(3)获取列表的最大值和最小值;

# 1.定义变量
lists = [10,300,20,200,30,100,0]
# 2.长度
print(len(lists))
# 3.最大最小值
print(max(lists))
print(min(lists))

标签:容器,变量,python,元素,name,print,teacher,字典
From: https://blog.csdn.net/m0_70882914/article/details/142211630

相关文章

  • 利用Python与Bokeh创建动态交互数据可视化
    Bokeh是一个用于创建交互式和动态数据可视化的强大工具,它可以帮助你在Python中展示数据的变化趋势、模式和关联性。本文将介绍如何使用Bokeh库在Python中创建动态数据可视化,并提供代码示例以供参考。Bokeh简介Bokeh是一个开源的Python可视化库,它允许用户创建交互式的图......
  • 基于Python+数据可视化大屏+大数据爬虫的短视频内容理解与可视化推荐平台设计和实现(
    博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P......
  • python第二次课(python基础)
    Python注释单行注释:只能注释一行内容单行注释使用#多行注释:可以注释多行内容多行注释使用三个单引号或者三个双引号都可以文档注释:注释可以生成文档,一般不允许压缩。使用的多行注释,只是有特定的要求字符串的重复问题在python中可以使用*来表示字符串的重复次数,乘数......
  • 基础python超级常用的四种可视化函数库
    可视化的概念可视化是指将数据或信息转换为图形表示形式的过程,以便更容易理解和分析。通过可视化,可以将复杂的概念、大量数据或抽象信息转化为直观的图形,使人们能够更快地洞察数据中的模式、趋势和异常情况。数据可视化是数据科学、统计学、信息设计等多个领域的交叉学科,它不......
  • 入门级小白超实用的python爬虫爬取网页图片
    图像作为信息传播的重要载体,在日常生活和各行各业的应用越来越广泛。网络图片爬取成为了数据挖掘和分析领域的一项重要技术。本文将探讨在网络环境中爬取图片的实现步骤以及代码。效果展示代码运行后,输入关健字等待片刻后桌面会自动创建一个名为picture的文件夹随后开始爬......
  • Python基础语法(2)
    顺序语句默认情况下,Python的代码执行顺序是按照从上到下的顺序,依次执行的print("1")print("2")print("3")执行结果一定为“123”,而不会出现“321”或者“132” 等,这种按照顺序执行的代码,我们称为顺序语句这个顺序是很关键的,编程是一件明确无歧义的事情,安排......
  • Python基础语法(1)下
    输入输出和用户交互程序需要和用户进行交互。用户把信息传递给程序的过程,称为"输入",也就是用户给计算机下命令就叫做输入。程序把结果展示给用户的过程,称为"输出",也就是计算机在向用户汇报工作。输入输出的最基本的方法就是控制台,用户通过控制台输入一些字符串,程序再通......
  • Python的Scapy库详解
    目录前言一、Scapy简介二、基本功能1.构建数据包2.发送与接收数据包3.捕获数据包三、高级功能1.协议栈与数据包叠加2.网络扫描3.数据包注入与攻击模拟四、应用场景五、总结前言Python的Scapy库是一个强大且灵活的网络数据包处理库,常用于网络安全、渗透测......
  • 基于python+flask框架的农民工综合信息管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着我国城市化进程的加速推进,农民工群体作为城市建设的重要力量,其规模日益庞大,对社会经济发展起到了不可替代的作用。然而,农民工的流动性......
  • Halo 开发者指南——容器私有化部署
    华为云SWR私有化部署镜像构建dockerbuild-thalo-dev/halo:2.20.0.上传镜像镜像标签sudodockertag{镜像名称}:{版本名称}swr.cn-south-1.myhuaweicloud.com/{组织名称}/{镜像名称}:{版本名称}sudodockertaghalo-dev/halo:2.20.0swr.cn-south-1.myhuaweicloud.c......