有谁知道如何做迭代代码:
我提供了两个初始列表(l1
和l2
):
l1=[a,b,c], where a,b,c are numbers
l2=[i,j,k,w,z]
然后获得第三个(l3
;其长度与l1
相同):
l3=[[a*i+a*j+a*k+a*w+a*z],[b*i+b*j+b*k+b*w+b*z],[c*i+c*j+c*k+c*w+c*z]]
答案 0 :(得分:3)
l3 = []
for i in l1:
temp = 0
for j in l2:
temp += i*j
l3.append([temp])
但当然,有一个单行:
l3 = [[sum(i*j) for j in l2] for i in l1]
但是有一些代数:
total = sum(l2)
l3 = [[i*total] for i in l1]
答案 1 :(得分:1)
单线应该是这样的:
l3 = [[sum([i*j for j in l2])] for i in l1]
inspectorG4dget将返回数字列表列表。 但话说回来,他的代数解决方案将起作用并且是最好的:)