Я пытаюсь построить полосчатую матрицу из 9 компонентов, чтобы решить проблему конечных разностей.Моя идея состоит в том, чтобы сначала поместить их в нормальную матрицу, а затем по диагонали с помощью какого-то метода scipy.sparse.
Мой код отлично работает с нормальным условием if, например:
for l,c in enumerate(node_n):
Pxx[l,4] = epsi
if (c[0]+1,c[1]) in tensor:
Pxx[l,5] = psi
но мне было интересно, что вместо этого можно написать это в одной строке, например:
Pxx[l,2] = gamma if ((c[0]+1,c[1]+1) in tensor)
Я пробовал с и без скобок, с использованием квадратных скобок и так далее, но я всегда получаю invalid syntax
.Я знаю, что это не большая проблема, но я бы предпочел 9 строк кода, по одной для каждого компонента, вместо 9 операторов if.
Заранее спасибо!
С уважением