我想我的代碼可以做的更好計數......優化陣列
我想要什麼:
array a = ([1,2,3],[4,5,6],[7,8,9])
array b = ([2,3,4],[2,2,2])
從a[0] to b[0] and b[1]
與其他歐氏距離,然後最小的是等值...
結果應該是類似的東西
result = ([1,2])
我認爲我做的方式有點複雜:
result = [0]*len(b)
for i in a:
c = 0
minimum = euclid(a[0],b[0])
place = 0
for j in b:
c=c+1
if (minimum > euclid(i,j)):
minimum = euclid(i,j)
place = c
result[place-1] = result[place-1]+1
好吧,我試着更好地解釋它。我有兩個數組A和B數組A有3個數值(數值< => [1,2,3])現在我想計算A的所有數值和B的所有數值的歐式距離,並計算B [0]或B [1]是最小值。
所以我開始代碼手冊: 起初,我用b [0]計算一個[0],發現這是最小值,因爲此刻沒有最小值。在接下來我計算一個[0]與b [1],並發現euclidean(a [0],b [1])< euchlidean(a [0],b [0]),所以我設置數組, c([0,0])到c([0,1])的時刻。接下來我計算歐幾里德距離a [1]到b [0]和b [1],並發現b [0]是這兩個值的最小值,因此我將c設置爲c([1,1])。
請寫出更好的標題你的問題,「或別的東西」,然後一個笑臉不會成爲一個好標題。 –
_「等與其他值」_「。這是否意味着你也想要從'a [1]到b [0]和b [1]'的歐式距離,以及從'a [2]到b [0]和b [1]'的歐幾里德距離,以及因此無論「a」有多少元素?如果是這樣,爲什麼'result'只有兩個元素? – Kevin
我想計算從[0]到b [0],b [1]的歐式距離並計算最小值。例如1.如果最小值= b [0] - > c [1,0],則舍入a [0] - b [0],b [1],c [0,0] 0],b [1],c [1,0]如果最小值= b [1] - > c [1,1] 3.round a [2] - b [0],b [1],c [1 ,1] if minimum = b [2] - > c [1,2] – Linda