如何在不使用numpy或zip(或其他导入)的情况下转置矩阵
如何在不使用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]))”是为了确定要取多少列的数据。最终,所有的列数据就被整理成了一个新的列表。