Извинения приняты :)
Держите функцию. Она позволяет формировать список, состоящий из элементов, полученных обработкой данных, которые описывают последовательно начальные, конечные и… Короче, смотрите пример.
def new_array(*arg):
arg = list(arg)
if len(arg)%3:
raise ValueError
else:
data = [(arg.pop(0), arg.pop(0), arg.pop(0))
for i in xrange(len(arg)/3)]
res = [from_ + j*(to_ - from_)/float(iter_ - 1)
for from_, to_, iter_ in data for j in (range(iter_))]
return res
a = new_array(1, 5, 4, 10, 200, 4)
print a
Достаточно это вызвать эту функцию в методе .array(
new_array(параметры)) и Вы получите ожидамый массив, состоящий из неравномерных значений.
Функция ожидает получить любое количество значений такого характера:
“откуда1, куда1, сколько_шагов1, откуда2, куда2, сколько_шагов2, …., откудаN, кудаN, сколько_шаговN”, т.е. количество элементов должно быть кратным 3. Функция собирает их в список, который потом можно смело передать на метод .array().
Как-то так.
В примере передано:
Данные для генерации двух последовательностей - от 1 до 5 и 5 интервалов + от 10 до 200 и 4 интервала;
Получено:
Cписок 1.0, 2.3, 3.67, 5.0, 10.0, 73.33, 136.67, 200.0
P.S. Это оно?