несколько списков - понимание списка для расчета уравнения

У меня есть 5 сложных списков; a,b,c,d,e.

Я пытаюсь вычислить 'm' где:

m = abs([a*(b+e) - c* d] / [e*(c+a)] )

Это мой код:

m = []
mm = []
for a,b,c,d,e in zip(a,b,c,d,e):
     mm.append([a*(b+e) - c*d]/[e*(c+a)])
for a in mm:
    m.append(abs(a))

Но я получаю сообщение об ошибке:

'Ошибка типа: неподдерживаемые типы операндов для ?: 'список' и 'список'.

Я понимаю, что вы не можете выполнять арифметические действия со списками, но я думал, что понимание списков исправит это?

Как я могу это исправить? Это потому, что списки сложные?


person AIREL    schedule 08.04.2015    source источник
comment
Какова ценность ваших списков?   -  person Andy♦    schedule 08.04.2015
comment
Есть ли веская причина, по которой вы не используете numpy (что было бы быстрее и проще для такого рода проблем)?   -  person John1024    schedule 08.04.2015


Ответы (1)


Вы всегда должны использовать круглые скобки для математических выражений: (), а не квадратные: [].

[] означает список в Python.

Измените 4-ю строку на

mm.append((a*(b+e) - c*d)/(e*(c+a)))
person Shu Ding    schedule 08.04.2015