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