Python 字典是一种无序的键值对集合,其中键值唯一,不能重复,且只能通过键(key
)来访问数据,而不能像列表那样使用下标索引。字典是一种非常灵活的数据结构,适用于各种场景。下面根据代码总结一下字典的定义和常见操作。
1. 字典的定义
字典的定义有多种方式:
(1)使用大括号 {}
定义字典:
(2)使用 dict()
函数定义空字典:
输出内容:
2. 获取字典中的值
从字典中可以通过**键(key)**来获取对应的值(value):
输出结果:
王力宏的分数是:80
注意:使用键访问字典时,必须确保该键存在,否则会抛出 KeyError
异常。如果不确定键是否存在,可以使用 get()
方法获取值,避免错误:
3. 字典的嵌套
字典可以嵌套,即字典的值可以是另一个字典:
通过键访问嵌套字典的值时,需要按层级索引。
输出结果为:
4. 字典的增删改查
-
新增元素:通过指定新键值对的方式直接添加:
-
更新元素:若键已存在,则更新该键对应的值:
-
删除元素:使用
pop()
方法删除指定键的键值对,并返回该值: -
清空字典:使用
clear()
方法可以清空字典中的所有元素:
输出结果:
5. 获取字典的键、值和项
-
获取字典中的所有键:使用
keys()
方法:
-
获取字典中的所有值:使用
values()
方法:
-
获取字典中的所有键值对:使用
items()
方法:
6. 遍历字典
遍历字典的方式有两种:
-
通过键遍历:
输出结果:
-
使用
items()
同时遍历键和值:
7. 统计字典的元素数量
使用 len()
函数可以统计字典中键值对的数量:
8. 字典的特点
- 键唯一性:字典的键必须是唯一的,如果同一个字典中使用相同的键定义不同的值,后者会覆盖前者。
- 键不可变:字典的键必须是不可变的(如字符串、数字或元组),但值可以是任意类型,包括列表、字典等。
- 无序性:Python 3.6 之前,字典是无序的;从 Python 3.7 开始,字典的键值对按照插入顺序存储。
总结
Python 的字典是一种灵活且强大的数据结构,能够通过键快速地访问和操作数据。常见的操作包括通过键获取值、增加新元素、更新或删除元素以及嵌套字典的使用。掌握这些基本操作后,可以高效地处理各种复杂的数据结构。
源码:
#字典的键值不能重复,只能唯一,且不能使用下标索引,只能用key
# 定义字典
my_dict={"张亮":99,"小王":98}
#定义空字典
my_dict2=dict()
my_dict3={}
print(f"字典1内容是:{my_dict},类型:{type(my_dict)}")
print(f"字典2内容是:{my_dict2},类型:{type(my_dict2)}")
print(f"字典3内容是:{my_dict3},类型:{type(my_dict3)}")
#从字典中基于key获取value
my_dict4={"王力宏":80,"张亮":70,"小花":90,"小王":50,}
print(f"王力宏的分数是:{my_dict4["王力宏"]}")
#字典的嵌套
stu_score_dict={
"王力宏":{
"语文":75,
"数学":80
},
"周杰伦":{
"语文":79,
"数学":81
},
"林俊杰":{
"语文":78,
"数学":89
}
}
print(f"学生考试信息{stu_score_dict}")
#从嵌套字典获取数据
#看一下周杰伦的语文信息
print(f"周杰伦的语文成绩{stu_score_dict["周杰伦"]["语文"]}")
#字典的相关操作:
my_dict = {"小明":68,"小汪":75,"大明":89}
#新增元素
my_dict["小美"]=99
print(f"新增元素后:{my_dict}")
#更新元素
my_dict["小明"]=80
print(f"更新元素后:{my_dict}")
#删除元素
score=my_dict.pop("小明")
print(f"字典删除了一个元素是{score},剩余元素的结果是:{my_dict}")
#清空元素,clear
my_dict.clear()
print(f"字典被清空了,内容是{my_dict}")
#获取全部的keys
my_dict={"小明":68,"小汪":75,"大明":89}
keys=my_dict.keys()
print(f"字典全部的keys是:{keys},keys的类型是{type(keys)}")
#遍历字典
#方式1 通过获取到全部key来遍历
for key in keys:
print(f"字典的key是{key}")
print(f"字典的value是:{my_dict[key]}")
#方式2 直接对字典进行for循环,每一次都是直接得到key
for key in my_dict:
print(f"字典的key是{key}")
print(f"字典的value是:{my_dict[key]}")
#统计字典内的元素数量,len()
num=len(my_dict)
print(f"字典中的元素数量有:{num}个")