python如何用列表删除重複元素?列表是一個包含不同Python對象的容器,該對象可以是整數,單詞,值等它等效于其他編程語言中的數組,我來為大家講解一下關于python如何用列表删除重複元素?跟着小編一起來看一看吧!
列表是一個包含不同Python對象的容器,該對象可以是整數,單詞,值等。它等效于其他編程語言中的數組。
因此,這裡将通過不同的方式來從給定列表中删除重複項。
使用Set從列表中删除重複項要從列表中删除重複項,可以使用内置函數set()。 set()方法的特長在于它返回不同的元素。
我們有一個列表:[1,1,2,3,2,2,4,5,6,2,1]。 列表中有許多重複項,我們需要删除它們并僅取回不同的元素。 該列表将提供給set()内置函數。 稍後,使用list()内置函數顯示最終列表,如下例所示。
我們得到的輸出是不同的元素,其中所有重複元素都被消除了。
my_list = [1,1,2,3,2,2,4,5,6,2,1]
my_final_list = set(my_list)
print(list(my_final_list))
Output:
[1, 2, 3, 4, 5, 6]
要從給定列表中删除重複項,可以使用一個空的臨時列表。 為此,您将必須遍曆具有重複項的列表,并将唯一項添加到臨時列表中。 之後,将臨時列表分配給主列表。
這是一個使用臨時列表的工作示例。
my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2]
print("List Before ", my_list)
temp_list = []
for i in my_list:
if i not in temp_list:
temp_list.append(i)
my_list = temp_list
print("List After removing duplicates ", my_list)
Output:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]
List After removing duplicates [1, 2, 3, 4, 5, 6]
通過從集合中導入OrderedDict,我們可以從給定列表中删除重複項。 從python2.7開始可用。 OrderedDict負責按鍵顯示的順序返回不同的元素。
讓我們利用列表,并使用OrderedDict中可用的fromkeys()方法從列表中獲取唯一元素。
要使用OrderedDict.fromkey()方法,必須從集合中導入OrderedDict,如下所示:
from collections import OrderedDict
這是一個使用OrderedDict.fromkeys()方法删除重複項的示例。
from collections import OrderedDict
my_list = ['a','x','a','y','a','b','b','c']
my_final_list = OrderedDict.fromkeys(my_list)
print(list(my_final_list))
Output:
['a', 'x', 'y', 'b', 'c']
從Python 3.5及更高版本開始,我們可以使用常規的dict.fromkeys()從列表中獲取不同的元素。 dict.fromkeys()方法返回唯一的鍵,并有助于擺脫重複的值。
顯示dict.fromkeys()在列表中以提供唯一項的工作的示例如下:
my_list = ['a','x','a','y','a','b','b','c']
my_final_list = dict.fromkeys(my_list)
print(list(my_final_list))
Output:
['a', 'x', 'y', 'b', 'c']
使用for循環,我們将遍曆項目列表以删除重複項。
首先将數組初始化為空,即myFinallist = []。在for循環中,添加檢查列表中的項是否存在于數組myFinallist中。如果不存在,則使用append()将其添加到數組myFinallist中。 方法。
因此,每當遇到重複項時,它将已經存在于數組myFinallist中,并且不會被插入。 現在讓我們在下面的示例中進行檢查:
my_list = [1,2,2,3,1,4,5,1,2,6]
myFinallist = []
for i in my_list:
if i not in myFinallist:
myFinallist.append(i)
print(list(myFinallist))
Output:
[1, 2, 3, 4, 5, 6]
列表推導是Python函數,用于使用已經創建的序列來創建新序列(例如列表,字典等)。 這可以幫助您減少更長的循環,并使代碼更易于閱讀和維護。
讓我們利用列表推導從給定列表中删除重複項。
my_list = [1,2,2,3,1,4,5,1,2,6]
my_finallist = []
[my_finallist.append(n) for n in my_list if n not in my_finallist]
print(my_finallist)
Output:
[1, 2, 3, 4, 5, 6]
Numpy模塊中的unique()方法可以幫助我們從給定列表中删除重複項。
要使用Numpy首先導入numpy模塊,您需要執行以下步驟:
步驟1)導入Numpy模塊
import numpy as np
第2步:将您的列表與唯一方法内的重複項一起使用,如下所示。 使用tolist()方法将輸出轉換回列表格式。
myFinalList = np.unique(my_list).tolist()
步驟3)最後打印清單,如下所示:
print(myFinalList)
最終代碼如下:
import numpy as np
my_list = [1,2,2,3,1,4,5,1,2,6]
myFinalList = np.unique(my_list).tolist()
print(myFinalList)
Output:
[1, 2, 3, 4, 5, 6]
Pandas模塊具有一個unique()方法,該方法将為我們提供給定列表中的唯一元素。
要使用Pandas模塊,您需要執行以下步驟:
步驟1)導入Pandas模塊
import pandas as pd
第2步)将列表與unique()方法中的重複項一起使用,如下所示:
myFinalList = pd.unique(my_list).tolist()
步驟3)打印列表,如下所示:
print(myFinalList)
最終代碼如下:
import pandas as pd
my_list = [1,2,2,3,1,4,5,1,2,6]
myFinalList = pd.unique(my_list).tolist()
print(myFinalList)
Output:
[1, 2, 3, 4, 5, 6]
在這裡,列表推導和枚舉的組合可以删除重複的元素。 枚舉返回一個對象,該對象帶有一個指向列表中每個元素的計數器。 例如(0,1),(1,2)等。這裡的第一個值是索引,第二個值是列表項。
檢查每個元素是否在列表中,如果存在,則将其從列表中删除。
my_list = [1,2,2,3,1,4,5,1,2,6]
my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]]
print(list(my_finallist))
Output:
[1, 2, 3, 4, 5, 6]
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!