python - 如果后面没有其他元素与其相同,则将元素附加到列表中
问题描述
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
如果没有,它将添加它,否则它不应该。
解决方案
这是最简单的方法,适用于不是很大的列表:
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
是起点)