一、判断单个列表中的元素是否存在重复
使用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;
三、判断多个列表是否两两重复
来源:oschina
链接:https://my.oschina.net/u/4304318/blog/3636360