Python 通过另一个数组的元素规范化矩阵?

Python 通过另一个数组的元素规范化矩阵?,python,list,matrix,Python,List,Matrix,我想编写Python代码来解决下面提到的问题 我有一个列表: A = [[10, 20, 30], [15, 30, 25], [12, 30, 6]] 我有一个数字列表: B = [2, 5, 6] 我想迭代列表B,并将列表A的每一行除以B中的元素。 例如: [10, 20, 30] / B[1] [15, 30, 25] / B[2] [12, 30, 6] / B[3] 并获得如下输出: output = [[5, 10, 15], [3, 6, 5], [2, 5, 1]]

我想编写Python代码来解决下面提到的问题

我有一个列表:

A = [[10, 20, 30], [15, 30, 25], [12, 30, 6]]
我有一个数字列表:

B = [2, 5, 6] 
我想迭代列表B,并将列表A的每一行除以B中的元素。 例如:

[10, 20, 30] / B[1]
[15, 30, 25] / B[2]
[12, 30, 6] / B[3]
并获得如下输出:

output = [[5, 10, 15], [3, 6, 5], [2, 5, 1]]  
我不知道使用for循环是否是一个好主意?因为我不能得到正确的结果


有什么办法可以解决这个问题吗?

您可以使用一个简单的嵌套列表:

>>> A = [[10, 20, 30], [15, 30, 25], [12, 30, 6]]
>>> B = [2, 5, 6]
>>> [[e / b for e in a] for a,b in zip(A,B)]
[[5.0, 10.0, 15.0], [3.0, 6.0, 5.0], [2.0, 5.0, 1.0]]
>>>

在Numpy中,您可以执行以下简单操作:

A/B[:, None]
演示:


你试过什么了吗?@yas.f如果成功了,你可以接受答案告诉社区
In [60]: A
Out[60]: 
array([[10, 20, 30],
       [15, 30, 25],
       [12, 30,  6]])

In [61]: B
Out[61]: array([2, 5, 6])

In [63]: A/B[:, None]
Out[63]: 
array([[  5.,  10.,  15.],
       [  3.,   6.,   5.],
       [  2.,   5.,   1.]])