У меня есть список чисел, и я хотел бы выбрать n значений, равномерно распределенных по списку.
Например:
vals = list(range(10))
select_n(vals, 4)
select_n(vals, 5)
должно дать
[0, 3, 6, 9]
[0, 2, 5, 7, 9]
Мой текущий хак состоит в следующем:
[vals[round((len(vals) - 1)/(n-1) * i)] for i in range(n)]
Есть ли функция Python или NumPy для этого? Если нет, есть ли более эффективный способ написать это?