python --判断列表重复
一、判断单个列表中的元素是否存在重复
使用set方法去重后,和原list进行对比,如果相等,那么说明原列表无重复,如果存在重复,说明列表存在重复
1 def is_repect_all(L): 2 repeatList = []; 3 setList = set(L); 4 flag=True; 5 if len(L) != len(setList): 6 flag=False; 7 print('列表的id存在重复,其中重复项及重复次数如下:'); 8 for each_item in setList: 9 re_count = 0; 10 for each_item_L in L: 11 if each_item == each_item_L: 12 re_count += 1; 13 if (re_count >= 2): 14 print(each_item, L.index(each_item), ": ", re_count); 15 16 # print(all_gameid_List[L.index(each_item)]); 17 return flag,re_count; 18 19 else: 20 return flag;
二、判断两个列表是否重复:
1 #判断两个列表是否含有重复项 2 #方法有多种,此处选择最简单的方法,使用set() 3 def is_repeat_alls(L1,L2): 4 if(len(L1)==0 or len(L2)==0): 5 return '无法比对,原因:其中一个list为空'; 6 else: 7 8 #L1单列表去重输出 9 set_L1=set(L1); 10 #L2单列表去重输出 11 set_L2=set(L2); 12 #输出L1、L2合集 13 set_L3=set_L1&set_L2; 14 #将合集去重,并转换成list,注意,set不是迭代器 15 list_L3=list(set_L3); 16 if(len(list_L3)==0): 17 #如果列表为空,则表示没有重复项,则测试通过 18 print('无重复项,通过'); 19 else: 20 #如果列表不为空,则表示存在重复项,则表示测试失败,此时打印出列表即可 21 print('测试不通过,存在重复项'); 22 return '共'+str(len(list_L3))+'个重复,分别为:',list_L3;
三、判断多个列表是否两两重复