Python二维列表

Python二维列表

Python二维列表

一、什么是二维列表

在Python中,列表(List)是一种可变的有序数据集合,可以存储任意类型的元素。二维列表即为列表的列表,也可以称为嵌套列表。二维列表可以理解为一个二维的表格,其中的每个元素可以通过两个索引来定位,例如,可以用list[row][col]的方式访问表格中的元素。

二、创建二维列表

要创建一个二维列表,可以在一个外部列表中嵌套多个内部列表。下面是一个创建二维列表的示例代码:

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

上述代码创建了一个包含3个内部列表的二维列表。每个内部列表都包含3个元素。我们可以通过以下方式获取二维列表的信息:

print(matrix)         # [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix[0])      # [1, 2, 3]
print(matrix[1][2])   # 6
Python

三、遍历二维列表

要遍历二维列表,可以使用嵌套的循环结构,外层循环用于遍历外部列表的每个元素,内层循环用于遍历内部列表的元素。下面是一个遍历二维列表的示例代码:

for row in matrix:
    for element in row:
        print(element, end=' ')
    print()
Python

运行结果:

1 2 3
4 5 6
7 8 9
Python

上述代码按行遍历二维列表,并逐个输出每个元素。使用end=' '参数可以在输出元素之间添加空格,使用print()语句可以在每行输出后换行。

四、修改二维列表的元素

二维列表中的元素是可修改的,我们可以使用索引来修改特定位置的元素。下面是一个修改二维列表元素的示例代码:

matrix[1][2] = 10
print(matrix[1])   # [4, 5, 10]
Python

上述代码将二维列表中索引为[1][2]的元素修改为10,并输出了修改后的结果。

五、二维列表的常用操作

1. 获取二维列表的行数和列数

要获取二维列表的行数和列数,可以使用len()函数。len(matrix)可以获取二维列表的行数,len(matrix[0])可以获取二维列表的列数。下面是一个示例代码:

row_num = len(matrix)
col_num = len(matrix[0])
print(row_num, col_num)   # 3 3
Python

2. 向二维列表添加新行或新列

添加新行或新列可以使用append()方法。如果要添加新行,可以将一个新的列表追加到二维列表的末尾;如果要添加新列,可以遍历二维列表的每个内部列表,将新的元素追加到每个内部列表的末尾。下面是一个示例代码:

# 添加新行
new_row = [10, 11, 12]
matrix.append(new_row)

# 添加新列
new_col = 100
for row in matrix:
    row.append(new_col)

print(matrix)
Python

运行结果:

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

上述代码分别添加了一个新行和一个新列,并输出修改后的二维列表。

3. 删除二维列表的行或列

要删除二维列表的行或列,可以使用del语句。如果要删除某一行,可以使用del matrix[row];如果要删除某一列,可以遍历二维列表的每个内部列表,使用del语句删除指定位置的元素。下面是一个示例代码:

# 删除第二行
del matrix[1]

# 删除第二列
for row in matrix:
    del row[1]

print(matrix)
Python

运行结果:

[[1, 3], [7, 9]]
Python

上述代码分别删除了第二行和第二列,并输出修改后的二维列表。

六、应用示例:矩阵乘法

二维列表在矩阵乘法中有广泛的应用。下面是一个使用二维列表实现矩阵乘法的示例代码:

def matrix_multiply(matrix1, matrix2):
    row_num1 = len(matrix1)
    col_num1 = len(matrix1[0])
    row_num2 = len(matrix2)
    col_num2 = len(matrix2[0])

    # 判断两个矩阵是否可以进行乘法运算
    if col_num1 != row_num2:
        print("错误:矩阵无法相乘")
        return None

    # 创建结果矩阵
    result = []
    for i in range(row_num1):
        result.append([0] * col_num2)

    # 矩阵乘法
    for i in range(row_num1):
        for j in range(col_num2):
            for k in range(col_num1):
                result[i][j] += matrix1[i][k] * matrix2[k][j]

    return result

# 测试示例
matrix1 = [[1, 2], [3, 4]]
matrix2 = [[5, 6], [7, 8]]
result = matrix_multiply(matrix1, matrix2)
print(result)   # [[19, 22], [43, 50]]
Python

上述代码实现了两个矩阵的乘法操作,并输出了结果。

七、总结

本文详细介绍了二维列表在Python中的使用。我们了解了二维列表的概念,学习了如何创建、遍历和修改二维列表的元素。同时,还介绍了二维列表常用的操作,包括获取行数和列数,添加新行或新列,以及删除行或列。最后,还展示了一个应用示例,使用二维列表实现了矩阵乘法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册