将列表顺序应用于其他列表

anv*_*nvd 8 python list python-2.7

我有一个列表,具有特定的顺序:

L = [1, 2, 5, 8, 3]
Run Code Online (Sandbox Code Playgroud)

还有一些子列表包含主列表的元素,但顺序不同:

L1 = [5, 3, 1]
L2 = [8, 1, 5]
Run Code Online (Sandbox Code Playgroud)

如何申请的顺序LL1L2

例如,处理后的正确顺序应为:

 L1 = [1, 5, 3]
 L2 = [1, 5, 8]
Run Code Online (Sandbox Code Playgroud)

我正在尝试这样的事情,但我正在努力如何使用正确的顺序设置新列表.

new_L1 = []
for i in L1:
   if i in L: 
      print L.index(i) #get the order in L
Run Code Online (Sandbox Code Playgroud)

Gar*_*t R 12

看起来你只是想进行排序L1,并L2根据购买价值的下降,该指数L.

L = [1, 2, 5, 8, 3]

L1 = [5, 3, 1]
L2 = [8, 1, 5]

L1.sort(key = lambda x: L.index(x))
L2.sort(key = lambda x: L.index(x))
Run Code Online (Sandbox Code Playgroud)

  • 或者只是`key = L.index`. (3认同)