Найти - Пользователи
Полная версия: получиться ли здесь цикл?
Начало » Python для новичков » получиться ли здесь цикл?
1
eiler13
даны вектора x и y нужно получить матрицы:
 y0,x0=np.meshgrid(y[0],x[0])
y1,x1=np.meshgrid(y[1],x[1])
y2,x2=np.meshgrid(y[2],x[2])
y3,x3=np.meshgrid(y[3],x[3])
...
а затем использовать эти матрицы x0,x1,…,y0,y1 .. как параметры функции
Function(x0,x1,x2,x3,...,y0,y1,y2,y3,...)

Можно ли здесь как-то сократить код и сделать его универсальным для любого числа таких матриц?

P.S. с генерацией матриц ситуация то понятна
T=[ meshgrid(y[i],x[i]) for i in range(N)]
но вот как потом избавиться от кортежей в списке и подставить только переменные одним оператором не могу придумать )
например, что-то типа дает список
T[i][j] for i in range(N) for j in range(N)
а мне нужно подставлять переменные а не одну переменную список
JOHN_16
Конечно можно. ВОт развернутый пример:
args_x=[]
args_y=[]    
for i in xrange(10):
    y0,x0=np.meshgrid(y[i],x[i])
    args_y.append(y0)
    args_x.append(x0)
Function(*args_x, *args_y)
eiler13
JOHN_16
Конечно можно. ВОт развернутый пример:

Спасибо! * поможет добить скрипт!
eiler13
А почему вот здесь, при замене списка y0,y1,y2 на *sy интерпретатор ругается:
y0,y1,y2=sympy.symbols('y0 y1 y2')
sy=[y0,y1,y2]
...
... sympy.lambdify((*sy), ... # SyntaxError: invalid syntax
JOHN_16
Запомните, если хотите получить ответ на подобный вопрос всегда:
1) выкладывайте рабочий(!) кусок кода, а не его фрагменты. т.е. именно так как у вас в файле он написан.
2) выкладывайте полное сообщение об ошибке, ибо..
…из вашего сообщение мне ничего не ясно. И причем здесь многоточия? и оступы такие
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB