使用Python根據(jù)一個列表的順序?qū)ζ渌斜磉M(jìn)行排序
使用Python根據(jù)一個列表的順序?qū)ζ渌斜磉M(jìn)行排序
在Python中如果需要根據(jù)列表A對列表B進(jìn)行排序的問題時有以下2種方法:
方法1: 根據(jù)列表B中每個元素的下標(biāo)來獲取列表A中對應(yīng)位置的元素,將其作為排序依據(jù)即可。
a = [1, 5, 2, 6, 7] b = [6, 3, 9, 5, 0] # sort list b by list a sorted_b = sorted(b, key=lambda x: a[b.index(x)]) print(sorted_b)
打印結(jié)果
[6, 9, 3, 5, 0]
方法2: 用zip
函數(shù)將兩個列表打包,根據(jù)A排序,再解包即可。
與方法1的區(qū)別在于方法2對A、B都進(jìn)行了排序。
a = [1, 5, 2, 6, 7] b = [6, 3, 9, 5, 0] zip_a_b = zip(a, b) sorted_zip = sorted(zip_a_b, key=lambda x:x[0]) sorted_a, sorted_b = zip(*sorted_zip) print(list(sorted_a)) print(list(sorted_b))
打印結(jié)果
[1, 2, 5, 6, 7]
[6, 9, 3, 5, 0]
第二種方法也可以根據(jù)列表A對列表B和C進(jìn)行排序,如下所示。
a = [1, 5, 2, 6, 7] b = [6, 3, 9, 5, 0] c = [3, 1, 4, 5, 7] zip_a_b_c = zip(a, b, c) sorted_zip = sorted(zip_a_b_c, key=lambda x: x[0]) sorted_a, sorted_b, sorted_c = zip(*sorted_zip) print(list(sorted_a)) print(list(sorted_b)) print(list(sorted_c))
打印結(jié)果
[1, 2, 5, 6, 7]
[6, 9, 3, 5, 0]
[3, 4, 1, 5, 7]
到此這篇關(guān)于使用Python根據(jù)一個列表的順序?qū)ζ渌斜磉M(jìn)行排序的文章就介紹到這了,更多相關(guān)Python列表排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python實現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng)
這篇文章主要介紹了使用Python實現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng),代碼大致分為五個函數(shù)組成,具體內(nèi)容詳情本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-11-11pytorch中tensor.expand()和tensor.expand_as()函數(shù)詳解
今天小編就為大家分享一篇pytorch中tensor.expand()和tensor.expand_as()函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python實現(xiàn)一次性封裝多條sql語句(begin end)
這篇文章主要介紹了python實現(xiàn)一次性封裝多條sql語句(begin end),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python如何將圖像音視頻等資源文件隱藏在代碼中(小技巧)
有朋友問小編使用pyinstaller打包源碼時,因為代碼中使用了圖像、音頻、視頻等資源文件,無法將程序打包成單一的可執(zhí)行文件,怎么處理呢,下面小編通過代碼給大家介紹Python如何將圖像音視頻等資源文件隱藏在代碼中,感興趣的朋友一起看看吧2020-02-02如何使用python生成大量數(shù)據(jù)寫入es數(shù)據(jù)庫并查詢操作
這篇文章主要介紹了如何使用python生成大量數(shù)據(jù)寫入es數(shù)據(jù)庫并查詢操作,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09python利用openpyxl拆分多個工作表的工作簿的方法
這篇文章主要介紹了python利用openpyxl拆分多個工作表的工作簿的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09