您的位置:

Python嵌套列表:简洁易用的数据结构

一、Python嵌套列表简介

Python中的列表(List)是一种常用的数据结构,用于存储一系列有序的数据。嵌套列表是将一个列表作为另一个列表的元素。这种数据结构在Python中非常灵活,可以用于存储各种复杂的数据类型,例如多维数组和树。


# 二维列表示例
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

上述代码中,我们定义了一个二维列表,其中每个元素都是由一个含有三个整数的列表组成。

二、创建嵌套列表的方式

1. 嵌套列表的追加方式


nested_list = []  # 创建一个空的嵌套列表
inner_list = [1, 2, 3]  # 创建一个普通的列表

nested_list.append(inner_list)  # 将inner_list添加到nested_list中

在上述代码中,我们创建了一个空的嵌套列表nested_list,然后创建了一个普通的列表inner_list,最后用append()方法将inner_list添加到nested_list中,以形成一个含有一个元素的嵌套列表。

2. 使用循环创建嵌套列表


nested_list = []

for i in range(3):
    inner_list = []
    for j in range(3):
        inner_list.append(i * 3 + j + 1)
    nested_list.append(inner_list)

上述代码中,我们使用嵌套循环创建了一个含有三个元素的嵌套列表。内部循环用于创建三个元素的列表inner_list,外部循环用于将inner_list添加到嵌套列表nested_list中。

3. 列表生成式


nested_list = [[i * 3 + j + 1 for j in range(3)] for i in range(3)]

上述代码中,我们使用列表生成式直接创建了一个含有三个元素的嵌套列表。

三、嵌套列表的操作

1. 访问嵌套列表的元素

我们可以像访问普通列表中的元素一样,使用索引访问嵌套列表中的元素。


# 访问嵌套列表的元素
print(matrix[0])  # [1, 2, 3]
print(matrix[0][1])  # 2

2. 添加新的元素


# 添加新的元素
matrix.append([10, 11, 12])  # 在末尾添加一个元素
matrix.insert(1, [13, 14, 15])  # 在指定位置插入一个元素

在上述代码中,我们使用append()方法在嵌套列表的末尾添加了一个元素,并使用insert()方法在索引为1的位置插入了一个新的元素。

3. 修改嵌套列表中的元素


# 修改嵌套列表中的元素
matrix[1][1] = 0  # 修改索引为[1][1]的元素的值为0

4. 删除嵌套列表中的元素


# 删除嵌套列表中的元素
del matrix[1]  # 删除索引为1的元素
matrix.remove([10, 11, 12])  # 删除指定的元素

四、使用嵌套列表处理数据

嵌套列表的灵活性和易用性使其成为处理数据的理想数据结构之一。下面我们通过一个简单的例子来说明如何使用嵌套列表处理数据。

假设我们有2017年某城市每个季度的GDP数据,现在需要计算全年的GDP和平均值。


gdp_data = [[10.54, 10.77, 11.8, 12.25], [11.11, 11.51, 12.64, 13.13],
            [12.02, 12.67, 13.86, 14.27], [12.75, 13.54, 14.9, 15.26]]

# 计算全年GDP
total_gdp = 0
for quarter_gdp in gdp_data:
    for gdp in quarter_gdp:
        total_gdp += gdp
print("全年GDP为:", total_gdp)

# 计算GDP平均值
average_gdp = [[sum(quarter_gdp) / len(quarter_gdp) for quarter_gdp in gdp_data]]
print("平均GDP为:", average_gdp[0][0])

在上述代码中,我们首先创建了一个嵌套列表gdp_data,其中包含了2017年某城市每个季度的GDP数据。我们通过双层循环遍历了gdp_data中的所有元素,计算出了全年的GDP,并使用了列表生成式计算了GDP平均值。

五、小结

本文从嵌套列表的简介、创建方式、操作和应用等方面对其进行了详细的阐述。嵌套列表是Python中非常灵活和易用的数据结构之一,可以用于各种复杂数据类型的存储和处理。