以並行列表中的對應值對列表進行排序
在此場景中,您有兩個列表,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中文網其他相關文章!