先来看看现实生活中的字典。我们知道,可以应用字典来查找汉字。
在这里插入图片描述
接着,来看看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)) #
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) # 值可以重复
总结:
字典与列表类似,都属于可变数据类型,即当添加元素后,长度也跟着变化。
通常情况下,使用字典的是获取元素键值对的值。
通过键来访问值的方式有两种。方式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","女"))
添加元素指的是:给字典添加新元素内容。
添加元素语法:
变量名[键] = 值
说明:当要添加多个元素时,则执行多次添加元素的操作。
实例:
(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))
注意:
字典中的元素不分先后顺序
,可任意存储字典的数据。
删除元素指的是:删除字典的某元素,或者清空字典的所有数据。
删除元素方法:
函数名 | 含义 |
---|---|
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()清空数据。
修改元素指的是:对已有元素进行修改,当成功修改后,则会用最新修改的值替换原有值。
修改元素语法:
变量名[键] = 值
实例:
(1)定义一个字典变量,存放老师信息:姓名、体重、年龄等;
(2)修改字典变量的姓名、体重值。
teacher = {"name":"teacher1","weight":95,"age":40}
# 修改姓名
teacher["name"] = "teacher2"
# 修改体重
teacher["weight"] = 110
print(teacher)
查找元素指的是:通过键来访问值。
比如,访问值的方式有两种:
变量名[键]
函数名 | 含义 |
---|---|
get(key[, default]) | 返回指定键key对应的值,若值不在字典中,则返回默认值。 |
实例:
(1)定义一个字典变量,存放老师信息:姓名、体重、年龄等;
(2)使用两种方式来查看老师的姓名、年龄。
teacher = {"name":"teacher1","weight":95,"age":40}
print(teacher["name"])
print(teacher.get("age")) # 若报错,则优先考虑使用get()
当要遍历字典的元素内容,即获取字典的键、值。
常用方法:
函数名 | 含义 |
---|---|
keys() | 以列表的形式,返回一个字典所有的键。 |
values() | 以列表的形式,返回一个字典所有的值。 |
items() | 返回由键值组成的序列,主要应用于遍历字典。 |
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}")
公共运算符指的是:可以运用于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)
公共方法指的是:能适用于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))