在Python中返回矩阵列作为列表



如果我有以下矩阵:

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

如何返回如下所示的列表

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

不使用内置函数?

编辑:我可以使用len()和range()

可以使用嵌套式推导式:

[[row[i] for row in m] for i in range(len(m[0]))]

如果要避免使用典型的换位习惯用法zip(*m)(如果需要精确类型,则使用[*map(list, zip(*m))]),因为它过于专用。

奇怪的做法:

m = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
res = map(lambda *args: args, *m)
print(list(res))

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

如果需要列表:

res = list(map(lambda *args: list(args), *m))
print(res)

替代:

res = [*map(lambda *args: list(args), *m)]

try this

m = [[1, 2, 3],
[4, 5, 6], 
[7, 8, 9]]
result=[[0 for i in range(len(m))] for j in range(len(m[0]))]
for i in range(len(m)):
for j in range(len(m[0])):
result[j][i]=m[i][j]
print(result)

相关内容

  • 没有找到相关文章

最新更新