我讀了這個question並適應了我的目的。我想用它們的數字對花車進行分組。在相鄰的數字之間應該小於1,但組中的第一個和最後一個可以大於1.將附近的浮動物列表編組,將其視爲在np.array的附近位置
數組無法排序。如果兩個值之間的差值小於1,但它們在陣列中的位置彼此遠離,則它們必須處於不同的組中。
我從這段代碼得到了錯誤的結果。
d = np.array([[100.1,100.6,101.1,500,500.3,500.6,500.9,44.1,44.2,101.9,102.1],[40,41]])
ans = []
for i in range(d.size):
m = [[d[i][0]]]
for x in d[i][1:]:
if x - m[-1][0] < 1:
m[-1].append(x)
else:
m.append([x])
ans.append(m)
print ans
>>[[[100.1, 100.6], [101.1], [500, 500.3, 500.6, 500.9, 44.1, 44.2, 101.9, 102.1]], [[40], [41]]]
預期ANS應
[[[100.1, 100.6, 101.1], [500, 500.3, 500.6, 500.9], [44.1, 44.2],[101.9, 102.1]], [[40], [41]]]]
我幹了什麼錯在這裏做什麼?
提示:'np.sort',一旦'D'排序,執行算法應該更簡單高效:) – NiziL