Python里字典的基本用法(包括嵌套字典)

  • Post category:Python

Python中的字典是一种无序且可变的数据类型,它使用键值对存储数据。在字典中,键(key)是唯一的,而值(value)可以是任何类型的数据,包括整型、字符串、列表等。字典在Python中的应用非常广泛,特别是在数据分析、Web开发、游戏开发等领域。

字典的创建和访问

在Python中创建字典非常简单,只需要使用花括号{}括起来键值对即可。例如,下面的代码就创建了一个简单的字典:

my_dict = {"name": "Tom", "age": 18, "gender": "male"}

上面的代码中,我们创建了一个包含三个键值对的字典,分别是”name”, “age”和”gender”。它们的值分别是”Tom”, 18和”male”。要访问字典中的值,可以使用键作为索引,例如:

name = my_dict["name"]

上面的代码中,我们使用索引”name”来获取字典中”name”键所对应的值。

如果要遍历字典中的所有键值对,可以使用for循环和items()方法。例如:

for key, value in my_dict.items():
    print(key, value)

上面的代码中,我们使用items()方法获取所有键值对,并使用for循环遍历它们。每次循环中,变量key代表键,变量value代表值。

字典的更新和删除

Python中的字典是可变对象,它可以被修改。例如,如果要修改字典中的某个键值对,可以使用下面的方式:

my_dict["name"] = "Alice"

上面的代码中,我们使用索引”name”来修改字典中”name”键所对应的值。

如果要添加新的键值对,可以使用下面的方式:

my_dict["address"] = "Beijing"

上面的代码中,我们创建了一个新的键”address”并给它赋值”Beijing”。

如果要删除字典中的某个键值对,可以使用下面的方式:

del my_dict["age"]

上面的代码中,我们使用del语句删除了字典中”age”键所对应的值。

嵌套字典

在Python中,也可以在字典中嵌套另一个字典,这种数据结构被称为嵌套字典。例如:

my_dict = {
    "student1": {"name": "Tom", "age": 18},
    "student2": {"name": "Alice", "age": 20}
}

上面的代码中,我们创建了一个嵌套字典,其中有两个键”student1″和”student2″。它们的值是另外的字典,包含”name”和”age”两个键值对。

访问嵌套字典中的值也非常简单,只需要按照层次结构使用多个索引即可。例如:

age = my_dict["student1"]["age"]

上面的代码中,我们使用两个索引来获取嵌套字典中”student1″字典中”age”键所对应的值。

示例说明

下面的示例演示了如何使用嵌套字典来表示一张学生表:

students = {
    "student1": {"name": "Tom", "age": 18, "gender": "male", "grade": 80},
    "student2": {"name": "Alice", "age": 20, "gender": "female", "grade": 85},
    "student3": {"name": "Bob", "age": 19, "gender": "male", "grade": 90}
}

上面的代码中,我们创建了一个包含三个学生信息的字典,每个学生信息都是一个嵌套字典。其中,每个学生包含”name”, “age”, “gender”和”grade”四个键。

下面的示例演示了如何根据学生的名字来查询他的成绩:

name = input("请输入要查询的学生姓名:")
if name in students:
    grade = students[name]["grade"]
    print("{}的成绩是{}".format(name, grade))
else:
    print("未找到{}这个学生".format(name))

上面的代码中,我们使用input函数获取用户输入的学生姓名,并判断该学生是否在学生表中。如果在,就获取该学生的成绩并输出;否则输出未找到该学生的提示信息。

这两个示例演示了嵌套字典在实际应用中的使用,它们可以通过灵活使用字典来实现各种应用场景。