Я уверен, что этот вопрос, возможно, задан раньше, но я не могу найти правильный ответ. Если у меня есть два спискапереупорядочивающий список по заказу другого списка в python
_list1 = ["keyName", "test1", "test2"]
_list2 = ["keyName", "test2", "test1"]
Я пытаюсь использовать _list1 переставить элементы в _list2 так, чтобы они соответствовали заказ точно. Какой самый чистый способ сделать это? Желаемый результат:
_list1 = ["keyName", "test1", "test2"]
_list2 = ["keyName", "test1", "test2"]
Я сожалею, если это дубликат, но до сих пор я только смог найти ответы на список номеров и с помощью метода архивных сортировок(). Благодаря!
Что делать, если _list2 - это список списков?
_list2 = [["test1", "test2", "keyName"], ["test2", "test1", "keyName"]]
Желаемая Выход:
_list2 = [["keyName", "test1", "test2"], ["keyName", "test1", "test2"]]
Еще одно, что если: Что, если я хочу, чтобы отсортировать любой другой список объектов, использующих _list1 в качестве ключевого
_list2 = [[object1, object2, object3], [object1, object2, object3]]
где:
object1.Name = "keyName"
object3.Name = "test1"
object2.Name = "test2"
так эффективно я бы ожидал outpu т:
_list2 = [[object1, object3, objec1], [object1, object3, objec1]]
- это возможно?
Are оба списка будет иметь тот же значение, точно? –
Возможный дубликат [Как вы сортируете список в python, сравнивая его с отдельным списком?] (Http://stackoverflow.com/questions/27573420/how-do-you-sort-a-list-in-python -by-comparing-it-to-a-list-list) – CoryKramer
Да, все они будут иметь одинаковые строковые значения. Еще одно предупреждение, возможно, что _list2 будет вложенным списком списков, который будет содержать списки тех же строковых значений, что и _list2 = [["test1", "keyName", "test2"] ["test2", "test1" , "keyName"]]. Таким образом, значения всегда будут одинаковыми с тем, что иногда структура _list2 может измениться. – konrad