我有两个列表,我正在尝试按 A1 B1 C1 对元组进行排序
l1 = ['F2', 'G2', 'B2', 'H2', 'A3', 'E3', 'G3', 'C1', 'D1', 'E1', 'D2', 'C3 ', 'A1'] l2 = [40, 40, 90, 90, 90, 90, 90, 120, 120, 120, 120, 120, 90]
代码
l1, l2 = [list(i) for i in zip(*sorted(zip(l1, l2), key=lambda x: list(map(int,x[0][1:]))))]
print (l1)
print (l2)
l1 = ['C1', 'D1', 'E1', 'A1', 'F2', 'G2', 'B2', 'H2', 'D2', 'A3', 'E3', 'G3 ', 'C3'] l2 = [120, 120, 120, 90, 40, 40, 90, 90, 120, 90, 90, 90, 120]
预期结果应该是: l1 = ['A1','C1','D1','E1','B2','D2','F2','G2','H2','A3','C3','E3' ,G3']
我迷路了。如有任何帮助,我们将不胜感激!
我不太确定你的代码想要做什么。我可以得到你想要的结果如下:
l1 = list(sorted(l1, key=lambda item: (item[1], item[0])))
print(l1)
输出:
['A1', 'C1', 'D1', 'E1', 'B2', 'D2', 'F2', 'G2', 'H2', 'A3', 'C3', 'E3', 'G3']
您没有显示
l2
所需的结果。