Python 如何取 array 的值

在 Python 中,我们可以使用多种方法来获取数组(array)的值。数组是一种存储相同类型数据的集合,可以通过索引访问和操作其中的元素。本文将介绍常用的几种方法,并通过一个具体的问题来演示如何使用这些方法来获取数组的值。

问题描述

假设有一个由学生姓名和分数组成的数组,我们需要根据姓名来获取对应学生的分数。具体来说,我们希望实现以下功能:

  1. 创建一个包含学生姓名和分数的数组;
  2. 提供一个学生姓名,返回该学生的分数。

解决方案

1. 创建数组

首先,我们需要创建一个包含学生姓名和分数的数组。可以使用 Python 中的列表(List)来作为数组的数据结构。

students = [
    ['Alice', 85],
    ['Bob', 90],
    ['Charlie', 75],
    ['David', 95]
]

上述代码创建了一个包含四个学生姓名和分数的数组。每个学生都表示为一个包含两个元素的列表,第一个元素是姓名,第二个元素是分数。

2. 根据姓名获取分数

接下来,我们需要实现一个函数,根据学生姓名来获取对应的分数。

def get_score(students, name):
    for student in students:
        if student[0] == name:
            return student[1]
    return None

上述代码定义了一个名为 get_score 的函数,该函数接受两个参数:students 表示学生数组,name 表示要查询的学生姓名。函数通过遍历数组中的每个学生,判断学生的姓名是否与要查询的姓名相等,如果相等则返回该学生的分数,否则返回 None 表示未找到。

3. 调用函数获取分数

现在,我们可以调用 get_score 函数来获取学生的分数了。

student_name = 'Bob'
score = get_score(students, student_name)
if score is not None:
    print(f"The score of {student_name} is {score}.")
else:
    print(f"Cannot find the score of {student_name}.")

上述代码调用了 get_score 函数,并将返回的分数存储在变量 score 中。如果找到了分数,则打印学生姓名和分数;否则,打印未找到的提示信息。

4. 完整示例代码

下面是完整的示例代码:

students = [
    ['Alice', 85],
    ['Bob', 90],
    ['Charlie', 75],
    ['David', 95]
]

def get_score(students, name):
    for student in students:
        if student[0] == name:
            return student[1]
    return None

student_name = 'Bob'
score = get_score(students, student_name)
if score is not None:
    print(f"The score of {student_name} is {score}.")
else:
    print(f"Cannot find the score of {student_name}.")

运行以上代码,将输出:

The score of Bob is 90.

关系图

下面是学生姓名和分数的数组的关系图:

erDiagram
    STUDENTS ||--o{ SCORES : has
    STUDENTS {
        string name
    }
    SCORES {
        int score
    }

上述关系图使用了 Mermaid 语法的 erDiagram 标识。

甘特图

下面是解决问题的过程的甘特图:

gantt
    title Python 如何取 array 的值

    section 创建数组
    创建: 2022-06-01, 1d

    section 根据姓名获取分数
    实现函数: 2022-06-02, 2d

    section 调用函数获取分数
    调用函数: 2022-06-04, 1d

    section 完整示例代码
    编写代码: 2022-06-05, 1d
    运行代码: 2022-06-06, 1d

上述甘特图使用了 Mermaid 语法的 gantt 标识,展示了解决问题的过程及时间安排。

总结

本文介绍