Как можно сравнить любые два выражения с постфиксной нотацией на предмет эквивалентности?
В простейшем примере 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']