简单的方法是将其转置,使用zip()
键列表中第一个元素索引的键对其进行排序,然后将其转置回:
>>> data = [['Y', 'K', 'E'], ... [3, 1, 2], ... [6, 4, 5]] >>> key = 'KEY' >>> sorted(zip(*data), key=lambda x: key.index(x[0])) [('K', 1, 4), ('E', 2, 5), ('Y', 3, 6)] >>> list(zip(*sorted(zip(*data), key=lambda x: key.index(x[0])))) [('K', 'E', 'Y'), (1, 2, 3), (4, 5, 6)]