如果我有子列表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)
>>> 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.
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |