Использование цикла for
:
>>> l = [1, 2, 3, 4, 5]
>>> res = []
>>> for e in reversed(l):
... res.append(e)
... res.insert(0, e)
>>> res
[1, 2, 3, 4, 5, 5, 4, 3, 2, 1]
В случае, если список не отсортирован, вместо reversed
используйте sorted
с обратным флагом, установленным на True
>>> l = [4, 3, 1, 5, 2]
>>> res = []
>>> for e in sorted(l, reverse=True):
... res.append(e)
... res.insert(0, e)
...
>>> res
[1, 2, 3, 4, 5, 5, 4, 3, 2, 1]
И, для более эффективной версии, я бы предложил использовать итераторы:
>>> import itertools
>>> l = sorted([4, 3, 1, 5, 2])
>>> res = list(itertools.chain(l, reversed(l)))
>>> res
[1, 2, 3, 4, 5, 5, 4, 3, 2, 1]