📜  Python 从列表中删除重复项 - Python (1)

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

Python 从列表中删除重复项

在 Python 中,我们可以使用 set() 函数来删除列表中的重复项。 set() 函数返回一个无序的集合(set),其中不包含重复的元素。

下面是一个简单的 Python 程序,它使用 set() 函数从列表中删除重复项:

mylist = [1, 2, 3, 3, 4, 5, 5, 6]
mylist = list(set(mylist))
print(mylist)

输出结果为:

[1, 2, 3, 4, 5, 6]

在上面的代码中,我们先定义了一个包含重复项的列表 mylist。然后我们使用 set() 函数来创建一个包含不重复元素的集合。最后,我们使用 list() 函数将集合转换回列表。

这种方法非常简单,但有个问题:它不保留列表中的元素顺序。如果你需要保留顺序,可以使用以下方法:

mylist = [1, 2, 3, 3, 4, 5, 5, 6]
newlist = []
for item in mylist:
    if item not in newlist:
        newlist.append(item)
print(newlist)

输出结果为:

[1, 2, 3, 4, 5, 6]

在上面的代码中,我们定义了一个新的空列表 newlist,然后使用 for 循环遍历原始列表 mylist。对于每个元素,我们检查它是否已经在 newlist 中。如果没有,我们就把它添加到 newlist 中。这样就可以保留原始列表的顺序同时删除重复项。

除此之外,Python 还提供了其他一些方法来删除列表中的重复项。例如,使用 itertools 模块中的 groupby() 函数可以返回一个包含重复元素的列表,然后使用列表推导式来删除重复项。但是,这些方法可能不如基本的 set() 函数或使用 for 循环和列表推导式那么易于理解和实现。