當一個元素在列表中出現不止一次時,我們稱之為重複。
在本教程中,我們將學習在 Python 中從列表中移除這些重複項的不同方法。
- 基本方法
- 使用列表推導
- 使用設置()
- 使用枚舉()
- 使用訂購商品
讓我們詳細討論每一個問題。
基本方法
在第一種方法中,我們將討論使用 Python 從列表中移除重複項的基本方法。
#initializing the list
list_value1=[12,15,11,12,8,15,3,3]
print("The initialized list is ",list_value1)
res_list=[]
for i in list_value1:
if i not in res_list:
res_list.append(i)
#printing the list after removing duplicate elements
print("The resultant list after removing duplicates is ",res_list)
輸出:
The initialized list is [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is [12, 15, 11, 8, 3]
解釋
所以,現在是時候看一看上面程序的解釋了。
- 第一步是初始化包含重複值的列表。
- 之後,我們打印了這個列表,這樣我們就可以很容易地比較輸出中的列表。
- 在下一步中,我們已經聲明了一個空列表,它將保存所有唯一的值,然後用於循環,隨後進行決策,以檢查列表中是否存在特定的元素,如果不存在,我們將把它追加到列表中。
- 最後,我們顯示了結果列表。
在第二個項目中,我們將利用列表推導來實現我們的目標。
使用列表推導
下面的程序說明了同樣的情況-
#initializing the list
list_value1=[12,15,11,12,8,15,3,3]
print("The initialized list is ",list_value1)
res_list=[]
#using list comprehension
[res_list.append(i) for i in list_value1 if i not in res_list]
#printing the list after removing duplicate elements
print("The resultant list after removing duplicates is ",res_list)
輸出:
The initialized list is [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is [12, 15, 11, 8, 3]
解釋
讓我們了解一下我們在上面的程序中做了什麼-
- 第一步是初始化包含重複值的列表。
- 之後,我們打印了這個列表,這樣我們就可以很容易地比較輸出中的列表。
- 在下一步中,我們使用列表推導來構建相同的邏輯。
- 最後,我們顯示了結果列表。
在第三種方法中,我們將看到如何使用 set() 獲得不同元素的列表。
使用集合()
下面給出的程序展示了如何做到這一點-
#initializing the list
list_value1 = [12,15,11,12,8,15,3,3]
print("The initialized list is ",list_value1)
res_list = []
#using set()
list_value1 = list(set(list_value1))
#printing the list after removing duplicate elements
print("The resultant list after removing duplicates is ",list_value1)
輸出:
The initialized list is [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is [12, 15, 11, 8, 3]
解釋
讓我們試着了解這裡發生了什麼,
- 第一步是初始化包含重複值的列表。
- 之後,我們打印了這個列表,這樣我們就可以很容易地比較輸出中的列表。
- 在下一步中,我們使用了列表()中的 set() ,並將 list_value1 作為參數傳遞,這樣我們就可以獲得不同元素的列表。
- 最後,我們顯示了結果列表。
使用枚舉()
現在讓我們看看如何使用枚舉()來滿足我們的目標。
下面的程序說明了同樣的情況-
#initializing the list
list_value1 = [12,15,11,12,8,15,3,3]
print("The initialized list is ",list_value1)
res_list = [x for n,x in enumerate(list_value1) if x not in list_value1[:n]]
#printing the list after removing duplicate elements
print("The resultant list after removing duplicates is ",res_list)
輸出:
The initialized list is [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is [12, 15, 11, 8, 3]
解釋
- 第一步是初始化包含重複值的列表。
- 之後,我們打印了這個列表,這樣我們就可以很容易地比較輸出中的列表。
- 在下一步中,我們使用了枚舉()內部列表推導,它將返回一個包含唯一元素的列表。
- 最後,我們顯示了結果列表。
最後,在最後一個程序中,我們將看到如何使用 Python 使用 OrderedDict 從列表中刪除重複項。
使用 OrderedDict
下面給出的程序展示了如何做到這一點-
from collections import OrderedDict
#initializing the list
list_value1 = [12,15,11,12,8,15,3,3]
print("The initialized list is ",list_value1)
#using OrderedDict
res_list = list(OrderedDict.fromkeys(list_value1))
#printing the list after removing duplicate elements
print("The resultant list after removing duplicates is ",res_list)
輸出:
The initialized list is [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is [12, 15, 11, 8, 3]
解釋
- 第一步是從集合中導入 OrderedDict,以便我們可以使用它從列表中刪除重複項。
- 在下一步中,我們已經初始化了包含重複值的列表。
- 之後,我們打印了這個列表,這樣我們就可以很容易地比較輸出中的列表。
- 現在我們已經在 OrderedDict.fromkeys()中傳遞了 list _ values1。
- 最後,我們顯示了不包含任何重複元素的結果列表。
結論
在本教程中,我們探索並學習了一些有趣的方法來從 Python 列表中移除重複項。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/248830.html