首页 > 解决方案 > 如果后面没有其他元素与其相同,则将元素附加到列表中

问题描述

x = "haaiiillll"
y=list(x)
z=[]
a=len(y)
n=0
for i in y:
    print(y[n:])
    if i != y[n:]:
        z.append(i)
        n+=1
print(z)

我如何实现这一点,我无法理解。我试图实现一个程序,它检查i列表中的值是否存在,y如果没有,它将添加它,否则它不应该。

标签: python

解决方案


这是最简单的方法,适用于不是很大的列表:

x = "haaiiillll"
res = [item for i, item in enumerate(x) if x.find(item, i + 1) == -1]
print(res)

输出 :

['h', 'a', 'i', 'l']

使用.find()我们可以查看是否有任何其他值等于item从它的位置到结束。(in第二个参数find是起点)


推荐阅读