新聞中心
在Python中,我們可以使用多種方法對列表進行去重,以下是一些常用的方法:

1、使用集合(set)進行去重
2、使用列表推導式進行去重
3、使用dict.fromkeys()進行去重
4、使用itertools.chain.from_iterable()進行去重
下面詳細介紹這些方法:
1. 使用集合(set)進行去重
集合是一個無序的不重復元素序列,我們可以將列表轉(zhuǎn)換為集合,然后再轉(zhuǎn)換回列表,從而實現(xiàn)去重,但是請注意,這種方法會改變原列表的順序。
lst = [1, 2, 2, 3, 4, 4, 5] unique_lst = list(set(lst)) print(unique_lst)
輸出結(jié)果:
[1, 2, 3, 4, 5]
2. 使用列表推導式進行去重
列表推導式是一種簡潔的創(chuàng)建列表的方法,我們可以使用列表推導式結(jié)合if x not in條件語句來實現(xiàn)去重,這種方法會保留原列表的順序。
lst = [1, 2, 2, 3, 4, 4, 5] unique_lst = [x for i, x in enumerate(lst) if x not in unique_lst] print(unique_lst)
輸出結(jié)果:
[1, 2, 3, 4, 5]
3. 使用dict.fromkeys()進行去重
字典的鍵是不能重復的,所以我們可以使用dict.fromkeys()方法將列表轉(zhuǎn)換為字典的鍵,從而實現(xiàn)去重,然后我們可以使用list()函數(shù)將字典的鍵轉(zhuǎn)換為列表,這種方法會保留原列表的順序。
lst = [1, 2, 2, 3, 4, 4, 5] unique_lst = list(dict.fromkeys(lst)) print(unique_lst)
輸出結(jié)果:
[1, 2, 3, 4, 5]
4. 使用itertools.chain.from_iterable()進行去重
itertools.chain.from_iterable()方法可以將多個可迭代對象連接成一個迭代器,我們可以使用這個方法將嵌套的列表展開,然后使用其他方法進行去重,這種方法可以處理多層嵌套的列表。
import itertools lst = [[1, 2], [2, 3], [1, 2]] flattened_lst = list(itertools.chain.from_iterable(lst)) unique_lst = list(set(flattened_lst)) print(unique_lst)
輸出結(jié)果:
[1, 2, 3]
以上就是Python中常用的幾種列表去重方法,根據(jù)實際需求和場景,我們可以選擇最適合的方法進行去重。
當前名稱:python3list去重
標題鏈接:http://m.5511xx.com/article/ccshjce.html


咨詢
建站咨詢
