Let's say I have the following list
list = {{-1, 0, 0, 1}, {-1, 0, 1, 0}, {-1, 1, 0, 0}, {0, -1, 0, 1},
{0, -1, 1, 0}, {0, 0, -1, 1}, {0, 0, 1, -1}, {0, 1, -1, 0},
{0, 1, 0, -1}, {1, -1, 0, 0}, {1, 0, -1, 0}, {1, 0, 0, -1}}
What sort function (sfunc
) used in SortBy [list, sfunc]
can give me slist
?
slist = {{0, 0, 1, -1}, {0, 0, -1, 1}, {0, -1, 0, 1}, {-1, 0, 0, 1},
{0, 1, 0, -1}, {0, 1, -1, 0}, {0, -1, 1, 0}, {-1, 0, 1, 0},
{1, 0, 0, -1}, {1, 0, -1, 0}, {1, -1, 0, 0}, {-1, 1, 0, 0}}
Few examples of sorted data
slist1 = {{0, 0, 1, -2}, {0, 0, -2, 1}, {0, -2, 0, 1}, {-2, 0, 0, 1}, {0, 1, 0, -2}, {0, 1, -2, 0}, {0, -2, 1, 0}, {-2, 0, 1, 0}, {1, 0, 0, -2}, {1, 0, -2, 0}, {1, -2, 0, 0}, {-2, 1, 0, 0}, {0, 1, -1, -1}, {0, -1, 1, -1}, {0, -1, -1, 1}, {-1, 0, 1, -1}, {-1, 0, -1, 1},{-1, -1, 0, 1}, {1, 0, -1, -1}, {1, -1, 0, -1}, {1, -1, -1, 0}, {-1, 1, 0, -1}, {-1, 1, -1, 0}, {-1, -1, 1, 0}}
slist2 = {{0, 0, 2, -2}, {0, 0, -2, 2}, {0, -2, 0, 2}, {-2, 0, 0, 2}, {0, 1, 1, -2}, {0, 1, -2, 1}, {0, -2, 1, 1}, {-2, 0, 1, 1}, {0, 2, 0, -2}, {0, 2, -2, 0}, {0, -2, 2, 0}, {-2, 0, 2, 0}, {1, 0, 1, -2}, {1, 0, -2, 1}, {1, -2, 0, 1}, {-2, 1, 0, 1}, {1, 1, 0, -2}, {1, 1, -2, 0}, {1, -2, 1, 0}, {-2, 1, 1, 0}, {2, 0, 0, -2}, {2, 0, -2, 0}, {2, -2, 0, 0}, {-2, 2, 0, 0}, {0, 2, -1, -1}, {0, -1, 2, -1}, {0, -1, -1, 2}, {-1, 0, 2, -1}, {-1, 0, -1, 2}, {-1, -1, 0, 2}, {1, 1, -1, -1}, {1, -1, 1, -1}, {1, -1, -1, 1}, {-1, 1, 1, -1}, {-1, 1, -1, 1}, {-1, -1, 1, 1}, {2, 0, -1, -1}, {2, -1, 0, -1}, {2, -1, -1, 0}, {-1, 2, 0, -1}, {-1, 2, -1, 0}, {-1, -1, 2, 0}}