我有一个这样的字符串列表:
X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1 ]
使用 Y 的值对 X 进行排序以获得以下输出的最短方法是什么?
["a", "d", "h", "b", "c", "e", "i", "f", "g"]
具有相同“键”的元素的顺序无关紧要。我可以使用 for
构造,但我很好奇是否有更短的方法。有什么建议么?
原文由 Legend 发布,翻译遵循 CC BY-SA 4.0 许可协议
最短代码
例子:
一般来说
解释:
zip
两个list
s。list
基于zip
使用sorted()
。list
中 提取 每对的第一个元素。有关如何设置\使用
key
参数以及sorted
函数的更多信息,请查看 此。