使用Python根據(jù)一個(gè)列表的順序?qū)ζ渌斜磉M(jìn)行排序
使用Python根據(jù)一個(gè)列表的順序?qū)ζ渌斜磉M(jìn)行排序
在Python中如果需要根據(jù)列表A對(duì)列表B進(jìn)行排序的問題時(shí)有以下2種方法:
方法1: 根據(jù)列表B中每個(gè)元素的下標(biāo)來獲取列表A中對(duì)應(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ù)將兩個(gè)列表打包,根據(jù)A排序,再解包即可。
與方法1的區(qū)別在于方法2對(duì)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對(duì)列表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ù)一個(gè)列表的順序?qū)ζ渌斜磉M(jìn)行排序的文章就介紹到這了,更多相關(guān)Python列表排序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python實(shí)現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng)
這篇文章主要介紹了使用Python實(shí)現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng),代碼大致分為五個(gè)函數(shù)組成,具體內(nèi)容詳情本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-11-11pytorch中tensor.expand()和tensor.expand_as()函數(shù)詳解
今天小編就為大家分享一篇pytorch中tensor.expand()和tensor.expand_as()函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12python實(shí)現(xiàn)一次性封裝多條sql語句(begin end)
這篇文章主要介紹了python實(shí)現(xiàn)一次性封裝多條sql語句(begin end),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python如何將圖像音視頻等資源文件隱藏在代碼中(小技巧)
有朋友問小編使用pyinstaller打包源碼時(shí),因?yàn)榇a中使用了圖像、音頻、視頻等資源文件,無法將程序打包成單一的可執(zhí)行文件,怎么處理呢,下面小編通過代碼給大家介紹Python如何將圖像音視頻等資源文件隱藏在代碼中,感興趣的朋友一起看看吧2020-02-02Python中請(qǐng)使用isinstance()判斷變量類型
這篇文章主要介紹了Python中請(qǐng)使用isinstance()判斷變量類型,本文先是給出了isinstance函數(shù)判斷變量類型的例子,并對(duì)isinstance 和 type的區(qū)別做了講解,需要的朋友可以參考下2014-08-08如何使用python生成大量數(shù)據(jù)寫入es數(shù)據(jù)庫(kù)并查詢操作
這篇文章主要介紹了如何使用python生成大量數(shù)據(jù)寫入es數(shù)據(jù)庫(kù)并查詢操作,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09python利用openpyxl拆分多個(gè)工作表的工作簿的方法
這篇文章主要介紹了python利用openpyxl拆分多個(gè)工作表的工作簿的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09