「中間」要素が最大数になるように、ソートされたリストを並べ替える必要があります。中央までの数字は増分で、中央を超える数字は降順です。
私は次の実用的な解決策を持っていますが、もっと簡単にできると感じています:
foo = range(7)
bar = [n for i, n in enumerate(foo) if n % 2 == len(foo) % 2]
bar += [n for n in reversed(foo) if n not in bar]
bar
[1, 3, 5, 6, 4, 2, 0]