python - 模仿排序中的数组交换

标签 python list sorting

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/

相关文章:

python - 如何快速估计两个(纬度、经度)点之间的距离?

c# - 对自定义对象列表进行排序

sorting - 在 Drupal 中按自定义字段排序 7 View 3

java - 如何返回二维字符串

Python正则表达式查找分隔符内的字符

python - TypeError : len is not well defined for symbolic Tensors. (activation_3/Identity:0) 请调用 `x.shape` 而不是 `len(x)` 获取形状信息

python - Pandas :从另一列填写分区中的第一行?

python - 将字典的键与列表进行比较

r - 如何按第一个元素对列表进行排序

list - 如何在Prolog中检查一个列表的所有元素是否都是另一个列表的成员