一、列表去重的概念
對於編程中的列表,如果裡面存在重複的元素,有時候會影響數據的處理及計算結果。此時,需要將列表中的重複元素去除,只保留不同元素。這個操作就被稱為「列表去重」。
二、Python中去重的方法
在Python中,對於列表去重的操作有多種方法:
- 使用set函數轉換成集合類型的數據再將其轉換成列表
- 使用for循環外加if判斷實現去重
- 使用列表推導式
- 使用pandas庫中的去重函數
三、set函數轉換成集合類型的數據再將其轉換成列表
a = [4,1,5,3,3,2,8,9,8]
b = list(set(a))
print(b)
上面代碼會把列表a中的重複元素去除,只保留不同元素。
四、使用for循環外加if判斷實現去重
a = [4,1,5,3,3,2,8,9,8]
b = []
for i in a:
if i not in b:
b.append(i)
print(b)
這種方法里,對於列表a中的每一個元素,都判斷一次是否已經在列表b里存在。如果不存在,就把這個元素添加到b里,這樣,就完成了去重操作。
五、使用列表推導式
a = [4,1,5,3,3,2,8,9,8]
b = list(set([i for i in a]))
print(b)
這個方法相當於把方法三的set語句放到了列表推導式里,即先使用列表推導式取出a中的元素i,再用set函數去掉重複元素,然後再通過list函數把結果轉換成列表格式。
六、使用pandas庫中的去重函數
import pandas as pd
a = [4,1,5,3,3,2,8,9,8]
b = pd.unique(a).tolist()
print(b)
在使用pandas庫中,可以調用unique()函數實現去重,該函數返回的是一個Numpy數組,需要使用tolist()方法轉為列表格式。
七、總結
本文介紹了Python中對於列表去重操作的四種方法:使用set函數轉換、使用for循環外加if判斷、使用列表推導式和使用pandas庫中的去重函數。以上四種方法都可以有效地實現對列表的去重,但對於數據量較大的列表,pandas庫中的去重函數可能會更高效一些。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/248258.html