Python中的列表和嵌套列表

在Python中,列表是一种非常常用的数据结构。它允许我们存储一系列元素,并且可以根据需要进行添加、删除、修改和访问。然而,有时候我们可能需要在列表中存储更复杂的数据结构,比如列表中的列表。这种嵌套列表的结构在Python中被广泛使用,可以用来表示多维数据或层次结构。

嵌套列表的定义和访问

嵌套列表是指一个列表中的元素也是列表。我们可以使用方括号 [] 来定义一个嵌套列表。下面是一个示例:

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

在上面的示例中,nested_list 是一个包含3个元素的列表,每个元素本身也是一个包含3个整数的列表。要访问嵌套列表中的元素,我们可以使用索引操作符 []。索引从0开始,因此要访问嵌套列表的第一个元素,可以使用 nested_list[0],结果是 [1, 2, 3]。要访问嵌套列表中的第二个元素的第二个元素,可以使用 nested_list[1][1],结果是 5

操作嵌套列表

嵌套列表支持与普通列表相同的操作,例如添加、删除和修改元素。我们可以使用 append() 方法向嵌套列表中添加新的元素。下面是一个示例:

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
nested_list.append([10, 11, 12])
print(nested_list)

输出结果为:

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]

可以看到,我们成功地向嵌套列表中添加了一个新的元素。

删除嵌套列表中的元素可以使用 del 关键字。下面是一个示例:

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
del nested_list[1]
print(nested_list)

输出结果为:

[[1, 2, 3], [7, 8, 9]]

可以看到,我们成功地删除了嵌套列表中的第二个元素。

修改嵌套列表中的元素也是非常简单的。我们可以使用索引操作符 [] 来访问并修改嵌套列表中的特定元素。下面是一个示例:

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
nested_list[0][1] = 10
print(nested_list)

输出结果为:

[[1, 10, 3], [4, 5, 6], [7, 8, 9]]

可以看到,我们成功地将嵌套列表中的第一个元素的第二个元素修改为10。

使用嵌套列表处理数据

嵌套列表在处理多维数据或层次结构时非常有用。我们可以使用嵌套列表来表示二维矩阵、树等复杂的数据结构。下面是一个示例,展示如何使用嵌套列表来表示一个学生的成绩表:

scores = [["Alice", 80, 90, 95], ["Bob", 85, 75, 80], ["Charlie", 90, 85, 90]]

# 计算每个学生的平均分
for student_scores in scores:
    name = student_scores[0]
    total_score = sum(student_scores[1:])
    average_score = total_score / len(student_scores[1:])
    print(f"{name}'s average score is {average_score}")

输出结果为:

Alice's average score is 88.33333333333333
Bob's average score is 80.0
Charlie's average score is