如何在list
(矢量)上執行Python成員操作,例如在Matlab/Octave中。我的意思是,讓兩個列表:Python中的成員運算符
a = [1,2,3]
b = [4,5,6]
是否有按成員運營商,如:
c = a .* b = [1*4,2*5,3*6]
d = a ./ b = [1/4,2/5,3/6]
我知道,我可以自己實現它,我會做,如果沒有這樣的模塊。一個不完全防彈的方式可以是:
# Memberwise product:
def mwprod(a,b):
c = []
if len(a) == len(b):
for a,b in zip(a,b):
try:
c.append(a*b)
except:
c.append(NaN)
return c
如前所述通過user3426575
這可以在一個非常Python化的方式來凝聚:
c = [ x*y for x, y in zip(a,b) ]
反正我想知道的東西更密集和審美其過載或實現這些運營商在list
。
您正在尋找[NumPy的(http://www.numpy.org /)。 – 2014-11-22 10:19:51
這樣做的一種非常「pythonic」的方式是使用列表理解: 'c = [x * y for x,y in zip(a,b)]' – user3426575 2014-11-22 21:59:48