如何在不使用numpy或zip(或其他导入)的情况下转置矩阵

1 投票
1 回答
5540 浏览
提问于 2025-04-17 20:20

如何在不使用numpy、zip或其他导入的情况下转置一个矩阵?

我原以为这个方法可以,但如果矩阵只有一行的话就不行了...

[[row[i] for row in data] for i in range(len(data[1]))]

1 个回答

6

这段代码的意思是,从一个叫做“data”的数据结构中提取出每一列的数据。具体来说,它是用一个小技巧,把每一行的第i个元素都拿出来,形成一个新的列表。

简单来说,想象一下“data”是一个表格,每一行代表一条记录,每一列代表一个属性。这个代码就像是在说:“我想要把每一列的数据都收集起来,放到一个新的列表里。”

这里的“row[i]”表示取出每一行的第i个元素,而“for row in data”则是在遍历每一行。外面的“for i in range(len(data[0]))”是为了确定要取多少列的数据。最终,所有的列数据就被整理成了一个新的列表。

撰写回答