我有一个元组列表 x = [('U', 3), ('R', 3)] 我希望按照每个元组的第一个元素('U'或'R')的自定义顺序对列表进行排序。 顺序应为: order = ["R", "D", "L", "U"] 因此,我示例的输出将是: x = [('R', 3), ('U', 3)] 如何在最短时间内完成这件事?谢谢。
如果输入很大,值得预先计算字典以便快速查找元素位置: order_map = {} for pos, item in enumerate(order): order_map[item] = pos sorted(x, key=lambda x: order_map[x[0]])