給定兩個列表,X 包含字串,Y 包含整數,您的目標是根據中的對應值對X 進行排序Y 同時保留具有相同「鍵」值的元素的原始順序。使用 Python 的內建函數探索以下最佳化解決方案:
[x for _, x insorted(zip(Y, X))]
範例:
X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1] Z = [x for _,x in sorted(zip(Y,X))] print(Z) # ["a", "d", "h", "b", "c", "e", "i", "f", "g"]
說明:
進一步說明:
sorted()函數允許您指定確定排序標準的鍵函數。在本例中,我們使用 key=lambdapair:pair[0] 根據元組的第一個元素對元組進行排序。這可以根據 Y 中的對應值對 X 進行有效排序。
以上是如何根據另一個列表中對應的整數值對字串列表進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!