📜  Python-测验| Python词典测验 |问题 25(1)

📅  最后修改于: 2023-12-03 15:34:14.325000             🧑  作者: Mango

Python-测验| Python词典测验 |问题 25

本篇测验将为大家介绍Python中字典的相关知识,并提供一些简单的练习题,帮助大家巩固所学知识点。

字典是什么?

字典(dictionary)是Python中的一种数据结构,它是一种可变容器,可以存储任意数量的Python对象,其中每个对象都由一个唯一的键(key)来标识。字典中的键值对(key-value pairs)是以冒号分隔的形式表示的,多个键值对之间用逗号隔开,整个字典要放在花括号中。

例如,下面是一个简单的字典示例:

person = {'name': 'John', 'age': 30, 'gender': 'Male'}

在上面的例子中,我们定义了一个名为person的字典,它包含三个键值对:'name': 'John''age': 30'gender': 'Male'。这里的键是字符串类型,值可以是任何类型的Python对象。

如何访问字典中的元素?

与列表类似,我们可以使用方括号来访问字典中的元素。但是不同的是,这里我们需要使用键来索引(而不是位置),如下所示:

>>> person = {'name': 'John', 'age': 30, 'gender': 'Male'}
>>> print(person['name'])
John
>>> print(person['age'])
30
>>> print(person['gender'])
Male

上面的代码将输出字典中'name''age''gender'键所对应的值。

如何修改字典中的元素?

字典是可变容器,因此我们可以通过键来修改其中的值。如下所示:

>>> person = {'name': 'John', 'age': 30, 'gender': 'Male'}
>>> person['age'] = 40
>>> print(person)
{'name': 'John', 'age': 40, 'gender': 'Male'}

上面的代码将分别输出'name': 'John''age': 40'gender': 'Male'。其中,我们将'age'键所对应的值修改为40。需要注意的是,如果键不存在,我们向字典中添加新的键值对。如下所示:

>>> person = {'name': 'John', 'age': 30, 'gender': 'Male'}
>>> person['city'] = 'New York'
>>> print(person)
{'name': 'John', 'age': 30, 'gender': 'Male', 'city': 'New York'}

上面的代码中,我们未定义'city'键,因此向字典中添加了新的键值对。

练习题

现在,让我们来试着实现一些通过字典进行操作的函数吧!

问题 25-1

编写一个函数get_average_score(students: dict) -> float,接受一个表示学生信息的字典类型的输入(键为学生姓名,值为列表,保存了该学生的成绩),函数需要计算出学生的平均分并返回。例:

>>> students = {'John': [80, 90, 87],
                'Alice': [67, 75, 80, 99],
                'Bob': [90, 68, 75],
                'Cindy': [85]}
>>> get_average_score(students)
80.375
问题 25-2

编写一个函数find_top_students(students: dict, n: int) -> list,接受一个表示学生信息的字典类型的输入(键为学生姓名,值为列表,保存了该学生的成绩)和一个整数n,函数需要返回一个包含平均分最高的前n位学生姓名的列表,按分数从高到低排序。例:

>>> students = {'John': [80, 90, 87],
                'Alice': [67, 75, 80, 99],
                'Bob': [90, 68, 75],
                'Cindy': [85]}
>>> find_top_students(students, 2)
['Bob', 'John']
问题 25-3

编写一个函数sort_students_by_score(students: dict) -> list,接受一个表示学生信息的字典类型的输入(键为学生姓名,值为列表,保存了该学生的成绩),函数需要将学生按平均分从高到低排序,返回一个包含学生姓名的列表。例:

>>> students = {'John': [80, 90, 87],
                'Alice': [67, 75, 80, 99],
                'Bob': [90, 68, 75],
                'Cindy': [85]}
>>> sort_students_by_score(students)
['Bob', 'John', 'Cindy', 'Alice']
总结

本篇测验为大家介绍了Python中字典的相关知识,还提供了一些练习题帮助大家巩固所学。希望大家能够通过这些练习,掌握字典的基本用法,以及如何使用字典进行一些常见的操作。