Python 是一種常用的編程語言,非常適合處理數(shù)據(jù)。在實現(xiàn)某些功能時,需要處理有重復(fù)值的列表。但有時候,我們需要獲得無重復(fù)值的列表。要實現(xiàn)這樣的功能,我們可以使用 Python 提供的一些方法來操作。
一種方法是使用 set。將列表轉(zhuǎn)成 set,然后再將其轉(zhuǎn)回列表。由于 set 不允許出現(xiàn)重復(fù)元素,所以轉(zhuǎn)回列表時,就自動去重了。
duplicate_list = [1, 2, 3, 2, 1, 4, 5] unique_list = list(set(duplicate_list)) print(unique_list)
另一種方法是使用 collections 模塊中的 Counter。Counter 是一個字典形式的對象,用于計算可哈希對象的個數(shù)。我們可以將列表轉(zhuǎn)成 Counter,它會自動統(tǒng)計元素的個數(shù)。然后再使用字典的 keys() 方法,即可獲得無重復(fù)值的列表。
from collections import Counter duplicate_list = [1, 2, 3, 2, 1, 4, 5] freq_dict = Counter(duplicate_list) unique_list = list(freq_dict.keys()) print(unique_list)
除此之外,我們也可以手動實現(xiàn)去重。首先創(chuàng)建一個空列表,然后遍歷原列表中的每一個元素,如果該元素沒有在新列表中出現(xiàn)過,就把它加入新列表。最后得到的就是無重復(fù)值的列表。
duplicate_list = [1, 2, 3, 2, 1, 4, 5] unique_list = [] for i in duplicate_list: if i not in unique_list: unique_list.append(i) print(unique_list)
這三種方法都可以實現(xiàn)無重復(fù)值的列表,不過它們的效率各有不同。使用 set 來去重最為簡單,但是對原有順序是沒有保障的。使用 Counter 統(tǒng)計元素出現(xiàn)次數(shù)較快,但是需要額外引入 collections 模塊。手動實現(xiàn)去重的方法最為靈活,但是實現(xiàn)起來較麻煩。
上一篇python 日期差遍歷
下一篇vue圖片閃動效果