Python3 字典
简介
Python中的字典(Dictionary)是一种无序的数据集合,用于存储键(key)和值(value)的映射关系。字典通过键来访问值,具有很快的查找速度。本文将详细介绍Python中字典的各种操作方法和常用技巧。
创建字典
通过大括号{}和冒号:来创建一个空字典,如下所示:
my_dict = {}
字典中的键和值可以是任意类型的对象。当然,键必须是唯一的,而值可以重复。我们可以通过指定键和值来创建一个字典,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
除了用{}创建字典外,我们还可以使用内置函数dict()来创建字典,如下所示:
my_dict = dict(apple=3, banana=5, orange=2)
字典常用操作
访问字典中的值
可以通过键来访问字典中的值,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
print(my_dict["apple"]) # 输出3
print(my_dict.get("banana")) # 输出5
修改字典元素
可以通过键来修改字典中的元素,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
my_dict["apple"] = 6
print(my_dict) # 输出{"apple": 6, "banana": 5, "orange": 2}
添加字典元素
可以通过指定新键和值的方式来添加新元素,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
my_dict["pear"] = 4
print(my_dict) # 输出{"apple": 3, "banana": 5, "orange": 2, "pear": 4}
删除字典元素
可以使用del关键字来删除指定键的元素,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
del my_dict["banana"]
print(my_dict) # 输出{"apple": 3, "orange": 2}
判断键是否存在
可以使用in关键字来判断指定键是否在字典中存在,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
if "apple" in my_dict:
print("键存在")
else:
print("键不存在")
字典常用方法
keys()方法
返回一个包含字典所有键的视图对象,可以通过list()函数将其转换为列表,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
print(list(my_dict.keys()))
输出为:[‘apple’, ‘banana’, ‘orange’]
values()方法
返回一个包含字典所有值的视图对象,可以通过list()函数将其转换为列表,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
print(list(my_dict.values()))
输出为:[3, 5, 2]
items()方法
返回一个包含字典所有键值对的视图对象,可以通过list()函数将其转换为列表,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
print(list(my_dict.items()))
输出为:[(‘apple’, 3), (‘banana’, 5), (‘orange’, 2)]
clear()方法
清空字典中的所有元素,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
my_dict.clear()
print(my_dict) # 输出{}
copy()方法
返回字典的一个浅拷贝,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
new_dict = my_dict.copy()
print(new_dict) # 输出{"apple": 3, "banana": 5, "orange": 2}
get()方法
根据键获取对应的值,如果键不存在则返回指定的默认值,默认值为None。可以通过传递第二个参数来指定默认值,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
print(my_dict.get("apple")) # 输出3
print(my_dict.get("pear")) # 输出None
print(my_dict.get("pear", 0)) # 输出0
pop()方法
根据键删除并返回对应的值,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
val = my_dict.pop("banana")
print(val) # 输出5
print(my_dict) # 输出{"apple": 3, "orange": 2}
popitem()方法
随机删除并返回字典中的一个键值对,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
item = my_dict.popitem()
print(item) # 输出('orange', 2)
print(my_dict) # 输出{"apple": 3, "banana": 5}
update()方法
将一个字典的键值对更新到另一个字典中,如果两个字典有相同的键,则用新字典中的值更新旧字典中的值,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
new_dict = {"banana": 10, "pear": 6}
my_dict.update(new_dict)
print(my_dict) # 输出{"apple": 3, "banana": 10, "orange": 2, "pear": 6}
字典的遍历
可以使用for循环来遍历字典的键、值或者键值对,如下所示:
my_dict = {"apple": 3, "banana": 5, "orange": 2}
# 遍历键
for key in my_dict:
print(key)
# 遍历值
for value in my_dict.values():
print(value)
# 遍历键值对
for key, value in my_dict.items():
print(key, value)
示例代码
下面是一个使用字典的示例代码,实现了一个简单的学生信息系统。每个学生的信息包含姓名和年龄两个字段。通过字典来存储学生信息,可以根据姓名来查找学生的年龄。
student_info = {}
def add_student(name, age):
student_info[name] = age
def get_student_age(name):
if name in student_info:
return student_info[name]
else:
return "该学生不存在"
add_student("张三", 20)
add_student("李四", 22)
add_student("王五", 18)
print(get_student_age("张三")) # 输出20
print(get_student_age("李四")) # 输出22
print(get_student_age("赵六")) # 输出该学生不存在
运行结果:
20
22
该学生不存在
在上述示例代码中,我们首先定义了一个空字典student_info
来存储学生的信息。然后,我们定义了add_student
函数来添加学生的姓名和年龄信息到字典中。再定义了get_student_age
函数来根据姓名获取对应的年龄信息。
接下来,我们调用add_student
函数添加了三个学生的信息。最后,通过get_student_age
函数来获取指定学生的年龄信息并进行打印输出。
这个示例展示了如何使用字典来存储和获取信息,非常适用于需要通过唯一标识来查找相关信息的场景,如学生信息管理系统、图书馆管理系统等。
字典是Python中非常常用的数据结构之一,具有快速查找、添加和删除元素的特点,是编程中经常使用的工具之一。掌握字典的使用方法对于Python编程非常重要。
总结
本文详细介绍了Python中字典的创建、常用操作方法以及常用技巧。通过字典可以将键和值进行映射,从而快速查找、添加和删除元素。我们还介绍了常用的字典方法以及如何遍历字典。最后,给出了一个使用字典实现学生信息管理的示例代码。