list = ['Tom', 'Jerry', 'Vincent', 'James','Lily', 'Vincent', 'Lily']我想实现2个功能:1.找出重复的名字,保留一个,生成一个新的 nlist= ['Tom', 'Jerry', 'Vincent', 'James','Lily']2.把重复的名字生成一个新的 rlist = ['Vincent', 'Lily']我知道可以用sorted,然后比较,但手动查找删除不方便,当然用set也可以把第一个功能实现,但第二个呢。有什么方法,谢谢。请贴代码
3 回答
已采纳
清波
TA贡献165条经验 获得超90个赞
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)
孤独的小猪
TA贡献232条经验 获得超302个赞
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
添加回答
举报
0/150
提交
取消