按并行列表中的相应值对列表进行排序
在此场景中,您有两个列表,X 和 Y,其中每个元素Y 中的值对应于与 X 中的元素关联的值。您的目标是根据列表中的值对列表 X 进行排序Y.
实现此目的的一种有效方法是使用列表理解以及 zip() 和排序() 函数:
[x for _, x in sorted(zip(Y, X))]
让我们分解此代码片段:
示例:
X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1 ] result = [x for _, x in sorted(zip(Y, X))] print(result) # ['a', 'd', 'h', 'b', 'c', 'e', 'i', 'f', 'g']
此代码将根据列表 Y 中的相应值输出排序后的列表: ["a", "d", "h", "b", "c", “e”、“i”、“f”、“g”]。
以上是如何根据相应列表的值对一个列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!