从订购列表中订购子列表的大多数pythonic方法

Col*_*ole 1 python

如果我有子列表A:['E','C','W'],根据主列表M的顺序命令子列表的最pythonic方式是什么:['C','B','W ", 'E', 'K']

我的解决方案似乎相当简陋.我很好奇是否有更'pythonic'的方法来获得相同的结果.

ORDER = ['C','B','W','E','K']
possibilities = ['E','C', 'W']
possibilities_in_order = []

for x in ORDER:
    if x in possibilities: possibilities_in_order.append(x)
Run Code Online (Sandbox Code Playgroud)

Ole*_*pin 8

>>> order = ['C','B','W','E','K']
>>> possibilities = ['E','C','W']
>>> possibilities_in_order = sorted(possibilities, key=order.index)
>>> possibilities_in_order
['C', 'W', 'E']
Run Code Online (Sandbox Code Playgroud)

这是如何工作的:对于每个elementin possibilities,order.index(element)被调用,列表只是按相应的位置排序.

更多细节:内置函数→sorted.