[[row[i] for row in matrix] for i in range(4)]
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
这是一个嵌套列表解析式,第一个循环,即外层循环for i in range(4),这是对一个二维数组按每列元素个数进行遍历,共有4列,而内循环是对每行进行遍历并取每行的第i个元素组成子列表。原式为matrix=np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]),得到图中的结果。
你的range里面的参数应该<=3,不然会报错,因为你的row里面最多3个数,你可以理解为嵌套了两个循环,matrix是一个含有四个列表的大列表,row就是遍历后的4个小列表,i就是传入给row的索引,他的结果不是自动排大小,而是因为你的matrix的matrix[0][0],matrix[1][0],matrix[2][0],matrix[3][0]里面是1,2,3,后面依次索引,有用点一下采纳