算法 - 如何删除有效列表中的重复元素?算法、元素、有效、列表中

2023-09-11 01:47:33 作者:纠结式、心疼-

有一个列表L 。它包含任意类型的每个的元素。 如何有效地删除这样的列表中所有重复的元素? 顺序必须是preserved

There is a list L. It contains elements of arbitrary type each. How to delete all duplicate elements in such list efficiently? ORDER must be preserved

只是一个算法是必需的,所以没有导入任何外部库是允许的。

Just an algorithm is required, so no import any external library is allowed.

In Python中,什么是最快的算法从列表中删除重复项,使所有的元素都是唯一的,而preserving为了的?

How你从列表中删除重复在Python,而preserving订单?

Removing从Python列表列表重复

How你从列表Python中删除重复?

推荐答案

假设为了事项:

创建一个空的集合S和一个空表米 在一次扫描列表L的一个元素。 如果该元素是在集合S,跳过它。 否则,将其添加到M和秒。 重复L中的所有元素。 返回米

在Python的:

>>> L = [2, 1, 4, 3, 5, 1, 2, 1, 1, 6, 5]
>>> S = set()
>>> M = []
>>> for e in L:
...     if e in S:
...         continue
...     S.add(e)
...     M.append(e)
... 
>>> M
[2, 1, 4, 3, 5, 6]

如果顺序并不重要:

M = list(set(L))
 
精彩推荐
图片推荐