python 实现二维列表转置

  • Post category:Python

二维列表转置是指将一个二维列表的行和列互换,即将原列表的第一列变成新列表的第一行,将原列表的第二列变成新列表第二行,以此类推。在Python中,可以使用多种方法实现二维列表转置,下面将介绍两种常用的方法。

方法一:使用zip函数

zip函数可以将多个列表中的元素按照相同的索引位置打包成元组,然后返回一个可迭代的zip对象。我们可以使用zip函数将原列表的行和列互换,然后将结果转换为列表即可实现二维列表转置。以下是一个使用zip函数实现二维列表转置的示例:

# 使用zip函数实现二维列表转置
def transpose(matrix):
    return [list(row) for row in zip(*matrix)]

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
transposed_matrix = transpose(matrix)
print(transposed_matrix)

输出结果为:

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

在这个例中,我们定义了一个名为transpose的函数,该函数接受一个二维列表matrix作为参数。我们使用zip函数将matrix的行和列互换,然后将结果转换为列表并返回。

方法二:使用列表推导式

列表推导式是一种简洁的语法,可以快速生成列表。我们可以使用列表推导式将原列表的行和列互换,然后将结果转换为列表即可实现二维列表转置。以下是一个使用列表推导式实现二维列表转置的示例:

# 使用列表推导式实现二维列表转置
def transpose(matrix):
    return [[row[i] for row in matrix] for i in range(len(matrix[0]))]

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
transposed_matrix = transpose(matrix)
print(transposed_matrix)

输出结果为:

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

在这个例中,我们定义了一个名为transpose的函数,该函数接受一个二维列表matrix作为参数。我们使用列表推导式将matrix的行和列互换,然后将结果转换为列表并返回。

总结

二维列表转置是将一个二维列表的行和列互换的操作。在Python中,可以使用多种方法实现二维列表转置,包括使用zip函数和列表推导式。这些方法都可以快速、简洁地实现二维列表转置,具体使用哪种方法取决于个人喜好和实际需求。