1、效率最高的方式,需要保证序列中的元素都是可哈希的,即数值、字符串、元组、frozenset等,而列表、字典、集合之类的就不行。
def foo(s):
try:
return list(set(s))
expect Expection, e:
pass
2、效率中的方式,需要保证序列中的元素都是可排序的。
def foo(s):
try:
s.sort()
expect Expection, e:
pass
else:
return [x for i, x in enumerate(s) if not i or x != s[i-1]]
3、效率做差,但是基本适用于全部情况。
def foo(s):
l = []
[l.append(i) for i in s if not l.count(i)]
return l