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

1、使用集合(set)進(jìn)行去重
2、使用列表推導(dǎo)式進(jìn)行去重
3、使用dict.fromkeys()進(jìn)行去重
4、使用itertools.chain.from_iterable()進(jìn)行去重
下面詳細(xì)介紹這些方法:
1. 使用集合(set)進(jìn)行去重
集合是一個(gè)無(wú)序的不重復(fù)元素序列,我們可以將列表轉(zhuǎn)換為集合,然后再轉(zhuǎn)換回列表,從而實(shí)現(xiàn)去重,但是請(qǐng)注意,這種方法會(huì)改變?cè)斜淼捻樞颉?/p>
lst = [1, 2, 2, 3, 4, 4, 5] unique_lst = list(set(lst)) print(unique_lst)
輸出結(jié)果:
[1, 2, 3, 4, 5]
2. 使用列表推導(dǎo)式進(jìn)行去重
列表推導(dǎo)式是一種簡(jiǎn)潔的創(chuàng)建列表的方法,我們可以使用列表推導(dǎo)式結(jié)合if x not in條件語(yǔ)句來(lái)實(shí)現(xiàn)去重,這種方法會(huì)保留原列表的順序。
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()進(jìn)行去重
字典的鍵是不能重復(fù)的,所以我們可以使用dict.fromkeys()方法將列表轉(zhuǎn)換為字典的鍵,從而實(shí)現(xiàn)去重,然后我們可以使用list()函數(shù)將字典的鍵轉(zhuǎn)換為列表,這種方法會(huì)保留原列表的順序。
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()進(jìn)行去重
itertools.chain.from_iterable()方法可以將多個(gè)可迭代對(duì)象連接成一個(gè)迭代器,我們可以使用這個(gè)方法將嵌套的列表展開(kāi),然后使用其他方法進(jìn)行去重,這種方法可以處理多層嵌套的列表。
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ù)實(shí)際需求和場(chǎng)景,我們可以選擇最適合的方法進(jìn)行去重。
當(dāng)前題目:python3list去重
轉(zhuǎn)載注明:http://www.5511xx.com/article/ccshjce.html


咨詢
建站咨詢
