Я не уверен, как написать эту функцию, и мне нужна помощь, как ее написать.У меня есть 1D массив данных и список.При построении данных это выглядит так: 
Список содержит индекс массива, в котором происходит изменение шага.В этом случае список содержит один элемент, и его значение равно 34. Мне бы хотелось, чтобы функция сглаживала данные в массиве, заменяя их на прямую линию от массива [0] до массива [34] (элемент вlist), а затем сгладить оставшиеся точки данных из массива [35] в массив [n].
Это простой пример данных, но он может быть более сложным, так как может быть несколько шагов изменения.Это псевдокод, но опять же, я понятия не имею, как его написать.
def funcx (x, list_):
for each set of points between list items
replace with linear line
return(updated array)
Вот массив
x = [515.294128, 513.52941899999996, 517.05883800000004, 514.70593299999996, 518.235356000003, 518.23535200000003,, +520,52630599999998, 520,0, +523,15783699999997, +523,15783699999997, +526,31573500000002, +525,26312299999995, +532,94116199999996, +543,68420400000002, 538,823486, +533,52941899999996, +540,52630599999998, +541,05267300000003, +541,05267300000003, +543,15789800000005, +545,26318400000002, +544,21057099999996, +546,84210199999995, +547,89477499999998, +548,94738800000005, +550,35717799999998, 550,714294, +551,42858899999999, +553,92858899999999, 556,785706, +548,94738800000005, 555,35717799999998, 571,90478499999995, 578,09151500000005, 97,647041000000002, 100,0, 101,333336, 101,333336, 101,333336, 103,333336, 108,0, 108,0, 110,0, 110,0, 112,85714, 113,5, 121, 121, 121, 121, 120, 127, 28, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 125, 120, 121, 120, 120, 120, 120, 120, 120, 125, 25, 125, 255, 121, 121, 125, 121, 255, 255, 117, 121, 125, 121, 255, 117, 121, 125, 121, 125, 255, 255, 121, 121, 121, 121, 127, ПП129,375, 132,30767800000001, 133,84612999999999, +135,38459800000001, +134,61537200000001, +136,92306500000001, +135,38459800000001, +137,69229100000001, 142,5, 143,125, 146,25, 146,25, 148,125, 149,375, +149,99998500000001, 150,833313, 153,333313, 154,166641, 154,166641, 154,166641, 154,166641, 161,0, 161,0, 169,5, 169,5, 177,777725, +178,88883999999999,180,625, 181,25, 183,75, 183,75, 185,0, 186,25, 186,25, 188,75, 188,125, 186,875, 188,125, 190,666687, 191,333359, 195,333359, 197,333359, 198,666687, +198,00001499999999, +198,00001499999999, 199,333359, 199,333359, 200,833313, +204,99998500000001, 209,166641, +211,42854299999999, +212,85711699999999,+214,28568999999999, +217,14283800000001, +215,71426400000001, +218,57141100000001, +217,85711699999999, +219,28568999999999, +220,66665599999999, +221,99998500000001, +220,66665599999999, +219,99998500000001, +223,99998500000001, +225,99998500000001, 227,333313, +228,66665599999999, 231,333313, +232,66665599999999, 233,333313, 235,333313, +233,99998500000001, +234,66665599999999, +236,66665599999999, 239,333313, 241,666687, 241,666687, 244,166687, +245,83334400000001, +247,50001499999999, 249,166687, +251,42854299999999, +251,42854299999999, +254,99996899999999, +254,28568999999999, +258,57141100000001, 259,285706, 259,285706, 261,875, 259,285706, 261,875, 264,375, 266,875]