Python基础教程:判断列表重复
一、判断单个列表中的元素是否存在重复
使用set方法去重后,和原list进行对比,如果相等,那么说明原列表无重复,如果存在重复,说明列表存在重复
def is_repect_all(L):
repeatList = [];
setList = set(L);
flag=True;
if len(L) != len(setList):
flag=False;
print('列表的id存在重复,其中重复项及重复次数如下:');
for each_item in setList:
re_count = 0;
for each_item_L in L:
if each_item == each_item_L:
re_count += 1;
if (re_count >= 2):
print(each_item, L.index(each_item), ": ", re_count);
# print(all_gameid_List[L.index(each_item)]);
return flag,re_count;
else:
return flag;
二、判断两个列表是否重复:
#判断两个列表是否含有重复项
#方法有多种,此处选择最简单的方法,使用set()
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def is_repeat_alls(L1,L2):
if(len(L1)==0 or len(L2)==0):
return '无法比对,原因:其中一个list为空';
else:
#L1单列表去重输出
set_L1=set(L1);
#L2单列表去重输出
set_L2=set(L2);
#输出L1、L2合集
set_L3=set_L1&set_L2;
#将合集去重,并转换成list,注意,set不是迭代器
list_L3=list(set_L3);
if(len(list_L3)==0):
#如果列表为空,则表示没有重复项,则测试通过
print('无重复项,通过');
else:
#如果列表不为空,则表示存在重复项,则表示测试失败,此时打印出列表即可
print('测试不通过,存在重复项');
return '共'+str(len(list_L3))+'个重复,分别为:',list_L3;