#26693: [Python]進階玩法:內積(dot product)


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
d103. NOIP 2008 1.ISBN号码 -- NOIP2008普及组复赛 | From: [36.238.65.74] | 發表日期 : 2021-08-20 18:38

def dotproduct(vec1, vec2): return sum(map(operator.mul, vec1, vec2))

https://docs.python.org/3/library/itertools.html

 

一般可能都只用map(int, input())這種用法,但其實map後面可以接受很多個參數,這是依照第一個function來決定的

而這個operator.mul要吃兩個參數,可以用下面的方法類比

map(operator.mul, vec1, vec2)
(a*b for a, b in zip(vec1, vec2))
(mul(a,b) for a, b in zip
(vec1, vec2))

 

這題需要相乘又相加,就可以vec1 = range(1,10),  vec2 = 輸入字串 去掉'-' 並且 轉成int

 
ZeroJudge Forum