猿问

python怎么实现查找重复项,删除

list = ['Tom', 'Jerry', 'Vincent', 'James','Lily', 'Vincent', 'Lily']

我想实现2个功能:

1.找出重复的名字,保留一个,生成一个新的 nlist= ['Tom', 'Jerry', 'Vincent', 'James','Lily']

2.把重复的名字生成一个新的 rlist = ['Vincent', 'Lily']


我知道可以用sorted,然后比较,但手动查找删除不方便,当然用set也可以把第一个功能实现,但第二个呢。


有什么方法,谢谢。请贴代码


慕丝0462366
浏览 3625回答 3
3回答

清波

L = ['Tom', 'Jerry', 'Vincent', 'James','Lily', 'Vincent', 'Lily'] def list_process(L):     return list(set(L)), list(set([i for i in L if L.count(i)==2])) list1,list2 = list_process(L) print(list1, list2)不引入其他模块了。修改:L = ['Tom', 'Jerry', 'Vincent', 'James','Lily', 'Vincent', 'Lily'] def list_process(L):     return list(set(L)), list(set([i for i in L if L.count(i)>1])) ## 修改为 大于1, 根据评论中 “再见你”的意见 list1,list2 = list_process(L) print(list1, list2)

孤独的小猪

olist = ['Tom', 'Jerry', 'Vincent', 'James','Lily', 'Vincent', 'Lily'] new_set = set(olist) nlist = list(new_set) rlist = [] for item in new_set: if olist.count(item) > 1: rlist.append(item) print nlist print rlist
随时随地看视频慕课网APP

相关分类

Python
我要回答