Вы можете сделать следующее для очень наивных интерполяции
list_a_final = [i for i in range(list_a[0], list_a[-1] +1)]
list_b_final = [list_b[0] + (list_b[-1]-list_b[0])/(len(list_a_final) -1) * i for i in range(len(list_a_final))]
выход
list_b_final = [34.5, 35.41016949152542, 36.320338983050846, 37.23050847457627, 38.140677966101
7, 39.05084745762712, 39.961016949152544, 40.87118644067797, 41.78135593220339,
42.69152542372881, 43.60169491525424, 44.511864406779665, 45.42203389830509, 46.
33220338983051, 47.242372881355934, 48.152542372881356, 49.06271186440678, 49.97
28813559322, 50.883050847457625, 51.79322033898305, 52.70338983050848, 53.613559
3220339, 54.52372881355932, 55.433898305084746, 56.344067796610176, 57.254237288
1356, 58.16440677966102, 59.074576271186444, 59.98474576271187, 60.8949152542372
9, 61.80508474576271, 62.715254237288136, 63.62542372881356, 64.53559322033898,
65.4457627118644, 66.35593220338984, 67.26610169491525, 68.17627118644069, 69.08
64406779661, 69.99661016949153, 70.90677966101696, 71.81694915254238, 72.7271186
440678, 73.63728813559322, 74.54745762711865, 75.45762711864407, 76.367796610169
49, 77.27796610169491, 78.18813559322035, 79.09830508474576, 80.0084745762712, 8
0.9186440677966, 81.82881355932204, 82.73898305084745, 83.64915254237289, 84.559
32203389831, 85.46949152542373, 86.37966101694916, 87.28983050847458, 88.2]
Как вы можете видеть, два средних значения немного пропущены, потому что интерполяция выполняется из начального и конечного значений> Если вам нужно что-то более точное, посмотрите на подгонку кривой.
Вы еще что-нибудь пробовали? – heltonbiker
Что вы имеете в виду, что значения list_b линейно интерполированы? Какова логика? – gidim
Первое, что я задаю себе, когда делаю это, - как я это сделаю вручную. Затем я тщательно описываю, что я сделал, и превращаю его в код. –