python:對list去重


1、set()方法

numbers = [1,7,3,2,5,6,2,3,4,1,5]
new_numbers = list(set(numbers))
print new_numbers

輸出

[1, 2, 3, 4, 5, 6, 7]

特點:不保證原有順序

2、原始方法

numbers = [1,7,3,2,5,6,2,3,4,1,5]
new_numbers = []
for x in numbers:
    if x not in new_numbers:
       new_numbers.append(x)
print(new_numbers)

特點:直觀,原有順序不變

3、set()方法,保持原有順序

numbers = [1,7,3,2,5,6,2,3,4,1,5]
new_numbers = list(set(numbers))
new_numbers.sort(key=numbers.index)
print(new_numbers)

特點:將列表轉化為集合再轉化為列表,利用集合的自動去重功能。簡單快速。缺點是:使用set方法無法保證去重后的順序。
但是,可以通過列表中索引(index)的方法保證去重后的順序不變。

 


免責聲明!

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



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