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()不是函数,而应该叫集合。