Вы изменили порядок проверки и добавления. Сначала вы должны проверить и только потом добавить:
yAF, yAF, speedAF = [], [], []
yAF_next, tAF_next, speedFA_next = y0, t0, v0
while yAF_next >= 0:
yAF.append(yAF_next)
tAF.append(t0_next)
speedAF.append(speedFA_next)
tAF_next = tAF[-1] + dt
speedAF_next = dy_dt(tAF[-1])
yAF_next = yAF[-1] + dt * dy_dt(tAF[-1])
Интересно, что вам даже не нужна переменная i
. И да, работайте со списками, позже конвертируйте их в массивы.
Да, это делает это по умолчанию, если Вы просто делаете:
Map(x => x.YourProperty);
Удостоверьтесь, что Вы используете последнюю версию от соединительной линии.
Как Yavor Shahpasov указал в комментариях, в более поздних версиях можно выполнить то же с:
Map(x => x.Property).CustomType<GenericEnumMapper<YourPropertyEnumType>>();
и есть также класс EnumString, который вы можете передать как customType