Как определить, какие числа лежат в определенном диапазоне - PullRequest
0 голосов
/ 06 мая 2019

В настоящее время у меня есть список чисел, и я хочу знать, какие из этих чисел находятся в определенном диапазоне, и какова их позиция в списке.

Я довольно новичок в пари, поэтому не знаю, как именно это сделать.

Для упрощенного примера того, что я делаю:

Найти обратные числа от 1 до 20, которые лежат в диапазоне от 0,05 до 0,15

Я создал такой список:

A=[1/i|i<-[1..20]];

Здесь я хотел бы получить список всех i, чтобы A [i] находился в этом диапазоне.

Но я не уверен, что делать дальше. Я попробовал несколько простых операторов if / for, но они не работали.

Как именно я попытался бы сделать что-то подобное?

1 Ответ

1 голос
/ 08 мая 2019

Вы хотите использовать select: Или:

select(i->A[i]>=0.05 && A[i]<=0.15, [1..#A])

Или более компактно, используя флаг 1 для возврата индексов:

select(v->v>=0.05 && v<=0.15, A, 1)
...