2016-12-09 104 views

回答

2

使用可以使用numpy的outer功能:

np.outer([2,4],[2,4]) 
array([[ 4, 8], 
     [ 8, 16]]) 
+0

謝謝!這是我正在尋找的標準功能。 –

1

我不知道一個函數本身,而是這會給你想要的東西:

import numpy as np 
z = np.array([3,4]) 
z[:,np.newaxis]*z[np.newaxis,:] 

# Returns: 
# [[ 9 12] 
# [12 16]] 
+0

感謝您的回答!有用!我尋找的標準函數是@yeharav提到的外部函數。當然很好有另一種選擇! –

+0

如果z是1d,'z.T'不會改變任何東西。我想你想要:'z [:,np.newaxis] * z [np.newaxis,:]'(第二個'newaxis'('None')是可選的,但爲了清晰起見,我將它包括在內)。 – hpaulj

+0

@hpaulj你是對的。編輯! – Fnord