我将如何使用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时进行遍历,但是我想不出另一种方法。
只需创建一个新列表即可填充,如果您列表中的项目尚未在新列表中输入,则只需移至原始列表中的下一个项目即可。
for i in mylist: if i not in newlist: newlist.append(i)
我认为这是正确的语法,但是我的python有点不稳定,我希望您至少能理解。