首頁 > 後端開發 > Python教學 > 如何根據 Python 中對應列表的值對一個列表進行排序?

如何根據 Python 中對應列表的值對一個列表進行排序?

Mary-Kate Olsen
發布: 2024-12-19 08:30:10
原創
596 人瀏覽過

How Can I Sort One List Based on the Values of a Corresponding List in Python?

使用並行列表中的對應值對列表進行排序

您有一個字串列表(X) 和對應的整數列表( Y) )。您的目標是根據清單 Y 中的值對清單 X 中的字串進行排序。在本例中,所需的輸出為:

["a", "d", "h", "b", "c", "e", "i", "f", "g"]

最短程式碼解決方案

實現此目的的最短方法是使用具有排序和zip函數的列表理解:

[x for _, x in sorted(zip(Y, X))]
登入後複製

此程式碼將列表壓縮在一起,然後根據第一個元素(列表 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"]
登入後複製

使用程式碼:

使用程式碼:
[x for _, x in sorted(zip(Y, X), key=lambda pair: pair[0])]
登入後複製

使用程式碼:使用程式碼:使用程式碼:用程式碼🎜>更通用的解決方案是將排序函數與自訂鍵函數一起使用:這裡,鍵函數從壓縮的每對中提取第一個元素列表,允許您根據列表Y 中的整數進行排序。

以上是如何根據 Python 中對應列表的值對一個列表進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板