2013-10-09 10 views

Antwort

4

Sie könnten Rundfunk verwenden:

c = sum(a[...,np.newaxis]*b[np.newaxis,...],axis=1) # == np.dot(a,b) 

c = sum(a[...,np.newaxis]==b[np.newaxis,...],axis=1) 

ich die newaxis in b enthalten nur deutlich machen, wie das Array erweitert wird. Es gibt andere Möglichkeiten, Dimensionen zu Arrays hinzuzufügen (Umformen, Wiederholen, usw.), aber der Effekt ist der gleiche. Erweitern Sie a und b in die gleiche Form, um Element für Element zu multiplizieren (oder ==), und addieren Sie dann auf der richtigen Achse.

+0

+1 schön, danke –

+0

Danke dir. Das ist sehr ordentlich. –