根据另一个列表对列表列表进行排序

alw*_*btc 2 python sorting list

你将如何lista根据项目的顺序排序sorter_list:

lista = [["John", "B3"],["Robert", "P3"], ["Thomas", "S2"]]

sorter_list = ["P3", "S2", "B3"]
Run Code Online (Sandbox Code Playgroud)

结果将是:

sorted_lista = [ ["Robert", "P3"], ["Thomas", "S2"], ["John", "B3"]]
Run Code Online (Sandbox Code Playgroud)

问候

And*_*ark 7

假设总会有一个条目sorter_list匹配每个列表的第二个元素lista:

sorted_lista = sorted(lista, key=lambda lst: sorter_list.index(lst[1]))
Run Code Online (Sandbox Code Playgroud)