小编典典

如何从列表中删除所有重复项

python

我将如何使用python检查列表并删除所有重复项?我不需要指定重复项是什么-
我希望代码找出是否存在重复项,如果有则将其删除,每个重复项仅保留一个实例。如果列表中有多个重复项,它也必须起作用。

例如,在下面的代码中,列表lseparatedOrbList有12个项目-一项被重复六次,一项被重复五次,并且只有一个实例。我希望它更改列表,因此只有三项-每一项,并且它们之前出现的顺序相同。我尝试了这个:

for i in lseparatedOrbList:
   for j in lseparatedOrblist:
        if lseparatedOrbList[i] == lseparatedOrbList[j]:
            lseparatedOrbList.remove(lseparatedOrbList[j])

但是我得到了错误:

Traceback (most recent call last):
  File "qchemOutputSearch.py", line 123, in <module>
    for j in lseparatedOrblist:
NameError: name 'lseparatedOrblist' is not defined

我猜是因为这是因为我试图在遍历lseparatedOrbList时进行遍历,但是我想不出另一种方法。


阅读 182

收藏
2020-12-20

共1个答案

小编典典

只需创建一个新列表即可填充,如果您列表中的项目尚未在新列表中输入,则只需移至原始列表中的下一个项目即可。

for i in mylist:
  if i not in newlist:
    newlist.append(i)

我认为这是正确的语法,但是我的python有点不稳定,我希望您至少能理解。

2020-12-20