m=[[1,2,3],[4,5,6],[7,8,9]] 多维数据的列表
要求返回是 1 个列表,可以如下,也可以是 1 个新的重组的 m
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
来试试回答吧,语言不限,注意返回的是什么哦。
线性代数
zip(*m)
线代挂科的路过
这道题和线性代数没关系啊,高中的时候的做好多类似的题,这个就像输出杨辉三角类似的
2L 调皮...
用 js 的老实人就这么写行吗? F12 console 直接就可以测试
let m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
function ext(origin, index) {
let nr = []
origin.map(a => {
nr.push(a[index])
})
return nr
}
console.log([ext(m, 0), ext(m, 1), ext(m, 2)])

重点
list(zip(*m))
我也来个老实人的写法吧。
m = [[1,2,3], [4,5,6], [7,8,9]]
_m = []
for i in range(len(m)):
l = []
for i_l in m:
l.append(i_l.pop(0))
_m.append(l)
print(_m)
一行就厉害了。。
例行献丑。..初学。哈哈
m = [[1, 2, 3, -1], [4, 5, 6, -2], [7, 8, 9, -3]]
n = []
for x in range(0, len(m[0])):
a = []
for y in range(0, len(m)):
a.append(m[y][x])
n.append(a)
print(n)
这个题目的确疏忽了,有 zip 的这个玩意、、、
m=[[1,2,3],[4,5,6],[7,8,9]]
#取出来是1个list
for c in range(len(m)):
col =[row[c] for row in m]
print(col)
我是这样写的。
初学 python 老实人写法,要求返回是 1 个列表


[list(i) for i in zip(*m)]
