Здравствуйте, вопрос в следующем:
имеется 4 переменные, содержащие 4 одномерных массива со значениями.
Нужно их подставить в функцию, тем самым получив на выходе один массив значений.
Для примера возьму такую функцию:
x(t) = a*sin(omega*t + phi)
Вот а, omega, phi и t -- это и есть 4 известных одномерных массива.
Можете подсказать, как синтаксически получить на выходе массив x?
Заранее спасибо!
Timebird: Если даны отдельные списки a, omega, phi, t, то они должны быть равной длины, если так, то все равно длину какого списка брать, пусть это будет, например a.
Oscar Django: Считаю вариант с map наиболее красивым решением. Но вот подстановка лямбды - это решения только для очень простых функций. Если в будущем потребуется изменить (утяжелить, например) логику функции, то лучше бы она была записана отдельно от того места, где применяется, т.е. без лямбды.
Жалко комментарии нельзя плюсовать. Может оформите как ответ?
По просьбам в дополнение к @nirvimel
Добавляем сахарок x = [f(*z) for z in zip(a, omega, phi, t)]
И еще x = map(f, a, omega, phi, t)
Для простых функций
x = map(lambda a, omega, phi, t: a * sin(omega * t + phi), a, omega, phi, t)