python中列表去重有哪几种方法,python3列表去重
python的列表去重的九种实现方式有很多种,但都是由几种方法扩展而来。我总结了五种基本方法,用复杂的流程控制和if判断来做不同的实现。目前扩展了9个实现如下,可以自己测试。后来发现新的实现会不断更新#方法1 #利用集合中元素的唯一性,对列表def three _ question (): li=[11,22,33,22,22,44,55,77,88,99,11] se=set (li) print(列表中重复元素的个数:,Len (SE) # three _ question () #方法2 #定义一个空列表, 用for循环遍历要去重的列表,判断新定义的空列表中没有元素,并将实现添加到# duplicated def three _ question 02():Li=[11,22,33,22,22,44,55 11]li2=[]for item in Li:if item not in li2:li2。 append (item) else: continue print(列表中非重复元素的个数:,len(li2))# three_question02()#方法三#使用嵌套的for循环,通过比较删除重复的元素,通过def three _ question 03 (): li=[11,22,33,22,22,44,55,77,88,99, 1]num=0 for item in Li[0:]:num=1 for id in Li[num:]:if id==item:Li . remove(id)else:continue print(Li)print(列表中非重复元素的个数:,Len (Li) # three _ question03 () #第四种方法将值转换为字典键值,使用键值的唯一性def three_question04(): print(第三种方法将值转换为字典键值,使用键值的唯一性)Li=[11,22,33 11]dict 1={} for I in Li:dict 1[I]=I number=len(dict 1)print(列表中非重复元素的个数为:{ } 。 format(number))# three _ question 04()#方法五:def three_question05 () : li=[11,22,33,22,22,44,55,77,88,99,11]li3=[]s=set()for I in Li:if Li . count(I)==1:if I in li3:append(I)elif Li . count(I)1:s . add(I)for se in s:li3 . append(se)Print( number of non 11]Li=[]s={ } for I in Li:if Li . count(I)==1:if I in Li:Li append(I)elif Li . count(I)1:s[I]=I for se in s . values():Li . append(se)Print(非重复元素个数,len(li3))# three_question06()#方法七:(使用字典键进行重复数据删除)字典函数进行重复数据删除def three _ question07 (): li=[11,22,33,22 33,22,22,44,55,77,88,99,1]li3=[]index=0 while index len(Li):如果Li [index]不在li3:li2中。append(Li[index])index=1 if index=Len(Li):break print(非重复元素个数,Len(li3))# three _ question 08()# Method 9:def three _ question 09():Li=[11,22,33,22,22,44,55,77,88,99,11]format list=list(set(Li))format list . sort(key=Li . index)print(非重复元素个数,Len(format list))three _ question 00
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。