Как правильно написать массив?

Подскажите пожалуйста, как правильно написать вот такого рода массив? Выдает ошибку синтаксиса.

y1 = ([1 if (y1[0] > 0.0 and y1[1] > y1[2] and y1[4] > y1[2]) or 0 if (y1[0] < 0.0 and y1[1] < y1[2] and y1[4] < y1[2]) else NaN for y1 in y1])

Ответы (1 шт):

Автор решения: CrazyElf

Наверное вместо:

or 0 if

Имелось в виду:

else 0 if 

Тернарный оператор if выглядит так:

x if condition else y

В вашем случае это два тернарных оператора:

x if condition1 else y if condition2 else z

P.S. Хотя тут у вас всё-равно непонятно что, переменная итерации должна иметь другое название, чем коллекция, по которой вы итерируетесь:

for y1 in y1

Но это уже другая проблема.

→ Ссылка