我不能使用Numpy或任何其他库函数,因为这是我必须要做的一个问题,我必须定义自己的方式.
我正在编写一个函数,它将两个列表(2维)作为参数.该函数应计算两个列表的元素乘积并将它们存储在第三个列表中,并从函数返回该结果列表.输入列表的示例是:
[[2,3,5,6,7],[5,2,9,3,7]]
Run Code Online (Sandbox Code Playgroud)
[[5,2,9,3,7],[1,3,5,2,2]]
Run Code Online (Sandbox Code Playgroud)
该函数打印以下列表:
[[10, 6, 45, 18, 49], [5, 6, 45, 6, 14]]
Run Code Online (Sandbox Code Playgroud)
也就是说2*5=10,3*2=6,5*9=45...等等.
这是我下面的代码,但它仅适用于里面有2个列表(元素)的列表,就像上面的例子一样,并且完全可以正常工作,但我想要的是编辑我的代码,这样无论多少个列表(元素)存在于二维列表中,它应该在一个新的二维列表中打印出它的元素产品,例如它也应该适用于
[[5,2,9,3,7],[1,3,5,2,2],[1,3,5,2,2]]
Run Code Online (Sandbox Code Playgroud)
要么
[[5,2,9,3,7],[1,3,5,2,2],[1,3,5,2,2],[5,2,9,3,7]]
Run Code Online (Sandbox Code Playgroud)
或整个列表中的任意数量的列表.
def ElementwiseProduct(l,l2):
i=0
newlist=[] #create empty list to put prouct of elements in later
newlist2=[]
newlist3=[] #empty list to put both new lists which will have proudcts in them
while i==0:
a=0
while a<len(l[i]):
prod=l[i][a]*l2[i][a] #corresponding product of lists elements
newlist.append(prod) #adding the products to new list
a+=1
i+=1
while i==1: …Run Code Online (Sandbox Code Playgroud)