Как можно сравнить любые два выражения с постфиксными нотами для эквивалентности?
В простейшем примере, foo (a, b) возвращает True для
a = [3, 5, 'MUL']
b = [5, 3, 'MUL']
Как бы foo()
выглядело в питоне? Я полагаю, что один из способов - это оценить оба выражения и как-то их нормализовать. Я ожидаю, что это четко определенный процесс, но еще не нашел его.
Редактировать 1:
Это был плохо сформулированный вопрос. Я попытаюсь привести примеры с большим количеством примеров и буду признателен за ваше терпение, поскольку я стараюсь четко и точно задать вопрос.
expr1 = [a, b, 'MUL']
expr2 = [b, a, 'MUL']
OR
expr1 = [a, b, 1, 'ADD', 'MUL']
expr2 = [a, b, 'MUL', a, 'ADD']