【python常見面試題】之python 中對list去重的多種方法


在python相關職位的面試過程中,會對列表list的去重進行考察。(注意有時會要求保證去重的順序性

 

1、直觀方法

1 li=[1,2,3,4,5,1,2,3] 2 new_li=[] 3 for i in li: 4     if i not in new_li: 5  new_li.append(i) 6 print(new_li)

先建立一個新的空列表,通過遍歷原來的列表,再利用邏輯關系not in 來去重。

總結:這樣可以做出來,但是過程不夠簡單。但是此方法保證了列表的順序性。

 

2、利用set的自動去重功能

1 li=[1,2,3,4,5,1,2,3] 2 li=list(set(li)) 3 print(li)

將列表轉化為集合再轉化為列表,利用集合的自動去重功能。簡單快速。缺點是:使用set方法無法保證去重后的順序。

 

但是,可以通過列表中索引(index)的方法保證去重后的順序不變。

1 li=[1,2,3,4,5,1,2,3] 2 new_li=list(set(li)) 3 new_li.sort(key=li.index) 4 print(new_li)

以上兩種list去重方法就是常用的去重方法,需要注意的是面試時如果要求保證列表的順序時,注意set方法通過索引也能保證順序性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM