Во время каждого шага итерации в for-l oop я вычисляю массив, который выглядит как
test = array([-0.23401695, -0.3880519 , -0.38805333, -0.38755048, -0.20781614,
-0.70836718, -0.38785778, -0.2346411 , -0.38757777, -0.38597846,
0.74324752, -0.38802888, -0.38768468, 0.25609106, -0.38759492,
-0.38601501, 0.12539226, -0.38780387, 0.53026535, -0.38773322,
-0.16896715, -0.54030724, -0.2340172 , 0.74325264, 0.47274894,
-0.38797809, -0.38803523, -0.2237936 , 0.85406766, -0.23401624,
-0.38803279, -0.38800347, -0.38793145, -0.38761207, -0.38795527,
-0.62081793, -0.38803845, -0.21677125, -0.38799521, 0.868606 ,
-0.3880574 , -0.38598402, 0.74379804, -0.38792198, -0.2026838 ,
-0.38805706, -0.38600679, -0.02927724, 0.46588779, -0.20076108])
Я хочу определить количество элементов в тесте массива, которые похожи, например, число элементов, которые выглядят как -0,38 .....
Я пробовал что-то
for i in test:
counter = 0
for j in test:
if abs(i - j) < 10**(-2):
counter += 1
if counter > 20:
elements = counter - 1 # -1 for the case i=j
break
elements # --> 25
, которое работает в предположении, что я могу оценить количество похожих элементов (если счетчик> 20).
Кто-нибудь знает, как это обобщить (без уловки _, если счетчик> 20 _, которая не будет работать во всех случаях).