Как я могу изменить порядок списка? - PullRequest
86 голосов
/ 01 февраля 2010

Если у меня есть список [a,b,c,d,e], как я могу изменить порядок элементов в произвольном порядке, например [d,c,a,b,e]?

Редактировать: я не хочу их тасовать. Я хочу переупорядочить их заранее определенным образом. (например, я знаю, что третий элемент в старом списке должен стать первым элементом в новом списке)

Ответы [ 12 ]

0 голосов
/ 05 декабря 2017

Еще одна вещь, которую можно рассмотреть, - это другая интерпретация, на которую указывает безмолвный

Код в Python 2.7

В основном:

  1. Изменение порядка значений -Уже решено AJ выше
  2. Упорядочить по индексу

    mylist = ['a', 'b', 'c', 'd', 'e']
    myorder = [3, 2, 0, 1, 4]
    
    mylist = sorted(zip(mylist, myorder), key=lambda x: x[1])
    print [item[0] for item in mylist]
    

Это выведет ['c', 'd', 'b', 'a',' e ']

0 голосов
/ 01 февраля 2010
newList = [oldList[3]]
newList.extend(oldList[:3])
newList.extend(oldList[4:])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...