
Exercise of Programming with Mathematica
Posted:
Oct 18, 2013 4:32 AM


Here is a rule designed to switch the order of each pair of expressions in a list. It works fine on the first example, but fails on the second. In[1]:= {{a, b}, {c, d}, {e, f}}/.{x_, y_} :> {y, x} Out[1]= {{b, a}, {d, c}, {f, e}} In[2]:= {{a, b}, {c, d}}/.{x_, y_} :> {y, x} Out[2]= {{c, d}, {a, b}} Explain what has gone wrong and rewrite this rule to correct the situation, that is, so that the second example returns {{b, a}, {d, c}}
My solution is the most stupid one.
{{a, b}, {c, d}}/.{{x_, y_}, {w_, t_}} :> {{y, x}, {t, w}}
May I ask any elegant solutions?
Thanks.

