python – 当使用数组迭代并从中拉取元素时,为什么在列表中打印数组([])?

想看看我是否可以使用理解或数组运算符,而不是for循环.

import numpy as np

a=[[1,2],[3,4]]

b=np.array(a)

c=[[x*z for x in z] for z in b[0:1]]

print(c)

OUTPUT = [[array([1, 2]), array([2, 4])]]

我想要一个列表或数组= [2,12]

之后我可以将列表转换为1D数组.
它是数组中每行的第一个元素*第二个元素.

我想让它适用于任何二维数组的一般情况.

最佳答案 最简单的方法是在numpy中使用
prod函数.

from numpy import prod

a = [[1,2],[3,4]]
b = [prod(x) for x in a] 
print(b)

输出:

[2,12]
点赞