python极简代码之检测列表是否有重复元素

极简python代码收集,实战小项目,不断撸码,以防遗忘。持续更新:

1,检测列表是否有重复元素:

 1 # !usr/bin/env python3
 2 # *-* coding=utf-8 *-*
 3 
 4 def check_list_unique(lst):
 5     return len(lst) == len(set(lst)) #返回lst长度和集合lst的长度,如果相等,则证明没有重复元素,如果不相等,就有重复元素
 6     
 7     
 8 x = [1,1,2,2,3,2,3,4,5,6] 
 9 y = [1,2,3,4,5]
10 
11 print(len(x)) #10
12 print(len(set(x))) #6
13 print(check_list_unique(x)) #False
14 print(check_list_unique(y)) #True
15 
16 print(type(x),type(y))
17 
18 
19 '''此处是废话,用以加强码夫破石对list和set这两种数据类型
20 aset = {1,2,3,4,5} #集合,大括号,类似字典的语法
21 alst = list(aset) #集合转列表
22 blst = ['a','b','c','d','e'] #列表
23 bset = set(blst) #列表转集合
24 print(type(aset),type(alst),type(blst),type(bset)) #输出:<class 'set'> <class 'list'> <class 'list'> <class 'set'>
25 
26 '''

这里的set()有人说是函数,python的说法,应该叫集合。如,aset = {1,2,3,4,5},将其转化为列表的语法为alst = list(aset);blst = ['a','b','c','d','e'],将其转化为集合的语法为bset = set(blst)。回到aset,alst,blst,bset,用print(type(aset),type(alst),type(blst),type(bset)),结果是:<class 'set'> <class 'list'> <class 'list'> <class 'set'>;再打印print(type(check_list_unique)),结果:<class 'function'>,很明显是函数。所以,set()不是函数,而应该叫集合。

原文地址:https://www.cnblogs.com/mafu/p/13131296.html