📜  删除重复项 - Python (1)

📅  最后修改于: 2023-12-03 15:36:56.990000             🧑  作者: Mango

删除重复项 - Python

在Python中,可以使用不同的方法来删除列表、元组或集合中的重复项。这些方法具有不同的复杂度和功能,并且可以根据具体的要求选择最适合的方法。

方法一:使用集合

集合是Python中用于存储不同元素的数据结构。因为集合只存储不同元素,所以可以使用集合来快速删除重复项。

lst = [1, 2, 3, 4, 3, 2, 1]
lst = list(set(lst))
print(lst) # [1, 2, 3, 4]

上面的代码首先将列表lst转换为集合,并将其转换回列表。在转换过程中,所有重复的元素都被删除了。

在某些情况下,可以使用集合来删除元组中的重复项:

tpl = (1, 2, 3, 2, 1)
tpl = tuple(set(tpl))
print(tpl) # (1, 2, 3)
方法二:使用列表推导式

列表推导式是一种简单而有效的方法,可用于从现有列表中创建新列表。此外,列表推导式还可以用于删除重复项。

lst = [1, 2, 3, 4, 3, 2, 1]
lst = list(dict.fromkeys(lst).keys())
print(lst) # [1, 2, 3, 4]

上面的代码使用列表推导式和字典方法来删除重复项。使用字典的fromkeys()方法可以将列表中的元素用作字典的键,并删除所有重复键。然后,可以使用字典的keys()方法获取所有唯一的键,并将它们转换回列表。

方法三:循环遍历

在某些情况下,可以使用循环遍历来删除重复项。这种方法比其他方法要慢,但它可以处理更复杂的数据结构。

lst = [1, 2, 3, 4, 3, 2, 1]
new_lst = []
for item in lst:
    if item not in new_lst:
        new_lst.append(item)
print(new_lst) # [1, 2, 3, 4]

上面的代码遍历列表,并将所有唯一的元素添加到新列表中。

结论

使用不同的方法可以删除列表、元组或集合中的重复项。如果需要删除重复项并保留原始顺序,则可以使用循环遍历。如果需要快速删除重复项,则可以使用集合或列表推导式。