Я хочу взять список [0,1,2]
и превратить его в [0,1,2,2,1,0]
. Прямо сейчас у меня есть
r = list(mus)
r.reverse()
mus = mus + r
но кажется, что должен быть лучший способ. Может ли кто-нибудь придумать хороший питонический лайнер?
Похоже, что вам может понадобиться
mus.extend(reversed(mus))
Или, если вам просто нужно перебирать это и не обязательно составлять список, используйте
import itertools
for item in itertools.chain(mus, reversed(mus)):
do_something...
Только некоторые из многих способов сделать это:
Первые два назначают вывод в новый список, а второй второй обновляет список. Если бы я был умным, я бы, вероятно, использовал 2 или 4, но если бы я хотел, чтобы не было ошибки в том, что я делаю, тогда я бы выбрал 1 или 3.
Надеюсь, что это поможет.
Изменить: Как указано в комментариях, # 1 не работает, поскольку обратный возвращает итератор. Вы можете заставить его работать, изменив его на:
m = l + list (reverse (l))
Но я не могу это порекомендовать. Идите с 2 вместо.
Кстати, спасибо за исправление и извините за любую путаницу.
reversed
не возвращает список.)