📅  最后修改于: 2023-12-03 15:34:13.835000             🧑  作者: Mango
在 Python 中,我们可以使用内置函数 zip()
来转置一个列表。简单来说,就是将二维数组的行与列互换。下面是一个简单的例子:
matrix = [
[1, 2],
[3, 4],
[5, 6]
]
transpose = list(map(list, zip(*matrix)))
print(transpose)
# 输出 [[1, 3, 5], [2, 4, 6]]
运用了很多 Python 中常用的函数,这里我们逐一解释一下:
zip()
函数:这个函数是将多个可迭代对象中的对应元素打包成一个元组,在返回迭代器对象之前将这些元组打包成一个列表。即将每个列表的第 i 个元素组成一个元组,最后返回一个由这些元组组成的列表。例如:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
zipped = zip(list1, list2)
print(list(zipped))
# 输出 [(1, 4), (2, 5), (3, 6)]
map()
函数:将一个函数应用于一个可迭代对象中的每个元素,返回一个列表。例如:
def square(x):
return x * x
list1 = [1, 2, 3, 4]
squares = list(map(square, list1))
print(squares)
# 输出 [1, 4, 9, 16]
*
运算符:在 Python 中,*
运算符可以解包一个列表或元组,例如:
list1 = [1, 2, 3]
print(*list1)
# 输出 1 2 3
在这个例子中,*
运算符将列表解包成一个个的参数,然后作为参数传递给 zip()
函数。
最后,使用 list()
函数将迭代器转换成列表,从而得到转置后的列表。
如果你想进一步了解如何在 Python 中操作列表和其他数据类型,请查看 Python 官方文档。