一、判断单个列表中的元素是否存在重复

使用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;
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐