如果我有一个字符串列表,
a = ["asd","def","ase","dfg","asd","def","dfg"]
Run Code Online (Sandbox Code Playgroud)
如何从列表中删除重复项?
Mar*_*ers 55
转换为集合:
a = set(a)
Run Code Online (Sandbox Code Playgroud)
或者可选地返回列表:
a = list(set(a))
Run Code Online (Sandbox Code Playgroud)
请注意,这不会保留顺序.如果您想保留订单:
seen = set()
result = []
for item in a:
if item not in seen:
seen.add(item)
result.append(item)
Run Code Online (Sandbox Code Playgroud)
看到它在线工作:ideone
def getUniqueItems(iterable):
result = []
for item in iterable:
if item not in result:
result.append(item)
return result
print (''.join(getUniqueItems(list('apple'))))
Run Code Online (Sandbox Code Playgroud)
PS与此处的答案之一相同,但稍有变化,实际上并不需要设置!
您可以将它们弹出到 a 中set,然后再返回到列表中:
a = [ ... ]
s = set(a)
a2 = list(s)
Run Code Online (Sandbox Code Playgroud)