如何删除重复列表中的项目?(Python)

如何删除重复列表中的项目?(Python),python,arrays,list,numpy,Python,Arrays,List,Numpy,我有一个列表[1268857、384269、72468、161、0、0、0、0、0、0],在这个列表中,我计算每个值的日志计算。所以我先去掉零,然后得到这个列表:[14.05362705319161,12.859098107153008,11.190900364095901,5.0814043649844631]。但问题是最后一个列表会重复7次。有没有办法阻止它一次又一次地自我生成 我试过这个: for item in gy: if item == 0: gy.remov

我有一个列表
[1268857、384269、72468、161、0、0、0、0、0、0]
,在这个列表中,我计算每个值的日志计算。所以我先去掉零,然后得到这个列表:
[14.05362705319161,12.859098107153008,11.190900364095901,5.0814043649844631]
。但问题是最后一个列表会重复7次。有没有办法阻止它一次又一次地自我生成

我试过这个:

for item in gy:
    if item == 0:
        gy.remove(item)
    if item < 0:
        gy.remove(item)
    if item == (item - 1):
        gy.remove(item)
有更好的方法吗?

这样做

gy = list(set(gy))
gy.remove(gy.index(0))

您可以使用
set()
从正在迭代的列表中删除元素通常是一个非常糟糕的主意
gy = list(set(gy))
gy.remove(gy.index(0))