📅  最后修改于: 2023-12-03 15:34:14.325000             🧑  作者: Mango
本篇测验将为大家介绍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'
键,因此向字典中添加了新的键值对。
现在,让我们来试着实现一些通过字典进行操作的函数吧!
编写一个函数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
编写一个函数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']
编写一个函数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中字典的相关知识,还提供了一些练习题帮助大家巩固所学。希望大家能够通过这些练习,掌握字典的基本用法,以及如何使用字典进行一些常见的操作。