• 技术文章 >Python技术 >Python基础教程

    Python判断列表里是否有重复元素的三种方法

    silencementsilencement2019-07-10 11:34:35原创11880

    一、用set方法去重后与原列表长度比较

    lst=[1,3,5,3,4,4,2,9,6,7]
    set_lst=set(lst)
    #set会生成一个元素无序且不重复的可迭代对象,也就是我们常说的去重
    if len(set_lst)==len(lst):
        print('列表里的元素互不重复!')
    else:
        print('列表里有重复的元素!')

    二、用append的方式把原列表中的元素添加到一个新列表,确保新列表里不存在重复的元素,然后比较两个列表

    lst=[1,3,5,8,9,9,0,0,3,3]
    new_list=[]
     
    for i in lst:
        if i not in new_list:
            new_list.append(i)
            #这样能确保新的列表里包含原列表里所有种类的元素,且元素互不重复
     
    if len(new_list)==len(lst):
        print('原列表里的元素互不重复!')
    else:
        print('原列表里有重复的元素!')

    三、用fromkeys的方法创建一个字典,因为字典的键会自动去重,所以可以比较字典和原列表的长度,跟方法一很像

    lst=[1,3,5,8,9,9,0,0]
    dic={}.fromkeys(lst)
    #这种方法建立字典,会把列表里的元素当做字典的键,由于字典的键不能重复,所以会自动去重
    if len(dic)==len(lst):
        print('列表里的元素互不重复!')
    else:
        print('列表里有重复的元素!')
    专题推荐:判断重复元素
    上一篇:多种方法合并Python中的两个列表、字典 下一篇:细说python3中sort和sorted

    相关文章推荐

    • 鲜为人知的python位运算• 一分钟学会如何查看Python内置函数的用法及其源码

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网