Python,按另一个列表对列表进行排序[重复]
问题内容:
这个问题已经在这里有了答案 :
根据另一个列表中的值对列表进行排序? (15个答案)
去年关闭。
我有一个清单a
:
a = ['c','d','b','a','e']
和清单b
:
b = ['a001','b002','c003','d004','e005']
以及如何获取c
以下列表:
c = ['c003','d004','b002','a001','e005']
基本上b
使用每个元素的一部分,按照中定义的顺序进行排序a
。
非常感谢。
问题答案:
您可以尝试将一个lambda
函数传递给内置函数的key
参数sorted()
:
a = ['c', 'd', 'B', 'a', 'e']
b = ['a001', 'B002', 'c003', 'd004', 'e005']
c = sorted(b, key = lambda x: a.index(x[0])) # ['c003', 'd004', 'b002', 'a001', 'e005']