翼度科技»论坛 编程开发 python 查看内容

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

7

主题

7

帖子

21

积分

新手上路

Rank: 1

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

set会生成一个元素无序且不重复的可迭代对象,也就是我们常说的去重set会生成一个元素无序且不重复的可迭代对象,也就是我们常说的去重
  1. lst = [1,3,5,3,4,4,2,9,6,7]
  2. set_lst=set(lst)
  3. if len(set_lst)==len(lst):
  4.         print('列表里的元素互不重复!')
  5. else:
  6.         print('列表里有重复的元素!')
复制代码
二、用append的方式把原列表中的元素添加到一个新列表,确保新列表里不存在重复的元素,然后比较两个列表

这样能确保新的列表里包含原列表里所有种类的元素,且元素互不重复
  1. lst=[1,3,5,8,9,9,0,0,3,3]
  2. new_list=[]
  3. for i in lst:
  4.         if i not in new_list:
  5.                 new_list.append(i)
  6. if len(new_list)==len(lst):
  7.         print('原列表里的元素互不重复!')
  8. else:
  9.         print('原列表里有重复的元素!')
复制代码
三、用fromkeys的方法创建一个字典,因为字典的键会自动去重,所以可以比较字典和原列表的长度,跟方法一很像

这种方法建立字典,会把列表里的元素当做字典的键,由于字典的键不能重复,所以会自动去重
  1. lst=[1,3,5,8,9,9,0,0]
  2. dic={}.fromkeys(lst)
  3. if len(dic)==len(lst):
  4.         print('列表里的元素互不重复!')
  5. else:
  6.         print('列表里有重复的元素!')
复制代码
来源:https://www.cnblogs.com/irponies-python/p/17220862.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具