Python3 字典

Python3 字典

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中字典的创建、常用操作方法以及常用技巧。通过字典可以将键和值进行映射,从而快速查找、添加和删除元素。我们还介绍了常用的字典方法以及如何遍历字典。最后,给出了一个使用字典实现学生信息管理的示例代码。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程