l = [0, 1, 3, 2]
l2 = ['foo', 3, 'bar', 10]
如果我说 sorted(l)
,我会得到 [0, 1, 2, 3]
。它将交换最后两个元素。
如何将相同的行交换应用到 l2
?即,我希望 l2
为 ['foo', 3, 10, 'bar']
。
最佳答案
您可以使用zip
、解压元组和列表理解来实现结果:
[y for x, y in sorted(zip(l, l2))]
关于python - 模仿排序中的数组交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30420045/