Ben*_*oks 2 python product list numeric
我需要编写应输出列表L和K的点积的函数dot(L,K).如果这两个输入列表的长度不相等,则dot应输出0.如果这两个列表都是空的,则点也应输出0.您应该假设输入列表仅包含数值.
这是我到目前为止:
def dot( L, K ):
if len[L]!=len[K]:
return 0
elif L == '' or L == []:
return 0
else:
return sum(L[0]*K[0], L[1]*K[1], ect.)
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我,因为我无法弄清楚在最后一行做什么!
VHa*_*sop 14
您可以使用列表解析来执行此操作:
def dot(K, L):
if len(K) != len(L):
return 0
return sum(i[0] * i[1] for i in zip(K, L))
Run Code Online (Sandbox Code Playgroud)
如果其中一个列表为空,zip(K, L)则返回[].然后,根据定义,sum([])将给你零.
小智 5
使用列表推导,给定V1和V2是两个向量(列表):
sum([x*y for x,y in zip(V1,V2)])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28937 次 |
| 最近记录: |