Я пытался основывать свои решения на других вопросах, заданных здесь, но они не совсем работают.
У меня есть вложенный список:
s = [[[921, 640], [4007, 49], [4821, 40]],
[[1270, 20], [1943, 393], [4821, 183]],
[[1300, 95], [857, 641], [4821, 83]]]
Я хочу отсортировать значения по индексу 0 во вложенном на основе значений другого вложенного списка. Другой список выглядит следующим образом:
i = [[921, 4281, 4007], [1943, 1270, 4821], [4821, 1300, 857]]
Как видно, значения подсписков в i
совпадают со значениями по индексу 0 в подсписках s
, но они не того же порядка. Теперь я хочу упорядочить значения в s
на основе значений в i
следующим образом:
s_new = [[[921, 640],[4821, 40], [4007, 49]],
[[1943, 393],[1270, 20], [4821, 183]],
[[4821, 83],[1300, 95], [857, 641]]]
Я пробовал этот код на основе других вопросов с похожими ответами:
s_new = [(sorted(x, key=lambda item: i.index(item[0]))) for x in s]
Но я получаю ошибку:
ValueError: 921 is not in list
Что я делаю неправильно и почему я получаю эту ошибку?
Я задавал этот вопрос вчера, но он был помечен как дубликат. Однако связанные вопросы и ответы не могли решить мою проблему.