移除列表中重复元素
我想要在一个列表中去掉重复的元素,但只有当某个元素出现很多次的时候,比如这样:
li = ['Human','Human','Human'] => li = ['Human']
但是如果列表里有两个或更多不同的元素,就不去掉它们:
li = ['Human','Monkey','Human', 'Human']
3 个回答
2
lst = ['Human','Human','Human'] => lst = ['Human']
lst = ['Human','Monkey','Human', 'Human'] => lst = ['Human','Monkey','Human', 'Human']
这就是你想要的结果吗?
if lst.count(lst[0])==len(lst):
lst=list(set(lst))
print lst
else:
print lst
4
你可以像下面这样简单地用集合来实现:
li = list(set(li))
3
def clean(lst):
if lst.count(lst[0]) == len(lst):
return [lst[0]]
else:
return lst
这样做是你想要的效果吗?
如果是的话,你也可以直接在原地进行操作。
def clean_in_place(lst):
if lst.count(lst[0]) == len(lst):
lst[:] = [lst[0]]