tft每日頭條

 > 生活

 > python如何用列表删除重複元素

python如何用列表删除重複元素

生活 更新时间:2024-12-16 04:39:29

python如何用列表删除重複元素?列表是一個包含不同Python對象的容器,該對象可以是整數,單詞,值等它等效于其他編程語言中的數組,我來為大家講解一下關于python如何用列表删除重複元素?跟着小編一起來看一看吧!

python如何用列表删除重複元素(DAY6-step4Python從列表List)1

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]

使用Dict從列表中删除重複項

通過從集合中導入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循環從列表中删除重複項

使用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]

使用列表推導(list comprehension)從列表中删除重複項

列表推導是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模塊中的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方法從列表中删除重複項

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]

使用enumerate()和 list comprehension 删除重複項

在這裡,列表推導和枚舉的組合可以删除重複的元素。 枚舉返回一個對象,該對象帶有一個指向列表中每個元素的計數器。 例如(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]

摘要
  • 要從列表中删除重複項,可以使用内置函數set()。 set()方法的特長是它返回不同的元素。
  • 您可以通過從集合中導入OrderedDict從給定列表中删除重複項。 從python2.7開始可用。 OrderedDictdict負責按鍵顯示的順序返回不同的元素。
  • 您可以利用for循環,我們将遍曆項目列表以删除重複項。
  • Numpy模塊中的unique()方法可以幫助我們從給定列表中删除重複項。
  • Pandas模塊具有一個unique()方法,該方法将為我們提供給定列表中的唯一元素。
  • 列表理解和枚舉的組合用于從列表中删除重複的元素。 枚舉返回一個對象,該對象帶有一個指向列表中每個元素的計數器。
,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved