如何在Python中从列表中删除重复项?
要从Python列表中删除重复项,可以使用本文中讨论的各种方法。
使用字典从列表中删除重复项
例子
在此示例中,我们将使用OrderedDict从列表中删除重复项−
from collections import OrderedDict
# 创建具有重复项的列表
mylist = ["Jacob", "Harry", "Mark", "Anthony", "Harry", "Anthony"]
# 显示列表
print("List = ",mylist)
# 使用字典从列表中删除重复项
resList = OrderedDict.fromkeys(mylist)
# 显示删除重复项后的列表
print("Updated List = ",list(resList))
输出
List = ['Jacob', 'Harry', 'Mark', 'Anthony', 'Harry', 'Anthony']
Updated List = ['Jacob', 'Harry', 'Mark', 'Anthony']
使用列表推导式从列表中删除重复项
例子
在此示例中,我们将使用列表推导式从列表中删除重复项 −
# 创建具有重复项的列表
mylist = ["Jacob", "Harry", "Mark", "Anthony", "Harry", "Anthony"]
# 显示列表
print("List = ",mylist)
# 使用列表推导式从列表中删除重复项
resList = []
[resList.append(n) for n in mylist if n not in resList]
print("Updated List = ",resList)
输出
List = ['Jacob', 'Harry', 'Mark', 'Anthony', 'Harry', 'Anthony']
Updated List = ['Jacob', 'Harry', 'Mark', 'Anthony']
使用Set从列表中删除重复项
例子
在此示例中,我们将使用set()方法从列表中删除重复项−
# 创建具有重复项的列表
mylist = ["Jacob", "Harry", "Mark", "Anthony", "Harry", "Anthony"]
# 显示列表
print("List = ",mylist)
# 使用Set从列表中删除重复项
resList = set(mylist)
print("Updated List = ",list(resList))
输出
List = ['Jacob', 'Harry', 'Mark', 'Anthony', 'Harry', 'Anthony']
Updated List = ['Anthony', 'Mark', 'Jacob', 'Harry']