此篇文章闡述了Python目錄去重的這些方法,原文中根據(jù)實(shí)例編碼推薦的十分詳盡。對(duì)大家學(xué)習(xí)培訓(xùn)和工作具有很強(qiáng)的參照參考意義,需用的小伙伴可以參考一下
請(qǐng)定義函數(shù),將列表[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1]中的重復(fù)元素除去,寫出至少3種方法。
方法一:利用集合去重
list_1=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1] def func1(list_1): return list(set(list_1)) print('去重后的列表:',func1(list_1))
方法二:利用for循環(huán)
list_2=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1] def func2(list_2): #定義一個(gè)空列表 mylist_2=[] #i遍歷list_2 for i in list_2: #如果i不在mylist_2,則添加到mylist_2 if i not in mylist_2: mylist_2.append(i) print(mylist_2) print(func2(list_2))
方法三:巧用sort()排序
list_3=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1] def func3(list_3): result_list=[] temp_list=sorted(list_3) i=0 while i<len(temp_list): #如果不在result_list則添加進(jìn)去,否則i+1 if temp_list<i>not in result_list: result_list.append(temp_list<i>) else: i+=1 return result_list print(func3(list_3))
方法四:巧用字典
list_4=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1] def func4(list_4): #fromkeys()函數(shù)創(chuàng)建一個(gè)新字典,獲取新字典的鍵(鍵值是唯一的) result_list=[] for i in{}.fromkeys(list_4).keys(): result_list.append(i) return result_list print(func4(list_4))
方法五:利用迭代器
import itertools list_5=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1] def func5(list_5): list_5.sort() temp_list=itertools.groupby(list_5) result_list=[] for i,j in temp_list: result_list.append(i) return result_list print(func5(list_5))
運(yùn)行結(jié)果:
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128778.html
摘要:專題系列第三篇,講解各種數(shù)組去重方法,并且跟著寫一個(gè)前言數(shù)組去重方法老生常談,既然是常談,我也來(lái)談?wù)劇K愃朴跀?shù)組,但是成員的值都是唯一的,沒(méi)有重復(fù)的值。 JavaScript 專題系列第三篇,講解各種數(shù)組去重方法,并且跟著 underscore 寫一個(gè) unique API 前言 數(shù)組去重方法老生常談,既然是常談,我也來(lái)談?wù)劇?雙層循環(huán) 也許我們首先想到的是使用 indexOf 來(lái)循...
摘要:此專欄文章是對(duì)力扣上算法題目各種方法的總結(jié)和歸納整理出最重要的思路和知識(shí)重點(diǎn)并以思維導(dǎo)圖形式呈現(xiàn)當(dāng)然也會(huì)加上我對(duì)導(dǎo)圖的詳解目的是為了更方便快捷的記憶和回憶算法重點(diǎn)不用每次都重復(fù)看題解畢竟算法不是做了一遍就能完全記住的所 ...
摘要:中文網(wǎng)頁(yè)的一大特點(diǎn)就是天下文章一大抄,各種博文新聞幾乎一字不改或稍作修改就被網(wǎng)站發(fā)表了。這個(gè)特點(diǎn),很適合這個(gè)百度算法。但是,實(shí)際中個(gè)別字的修改,會(huì)導(dǎo)致被轉(zhuǎn)載的最長(zhǎng)的那句話不一樣,從而其值也不一樣了,最終結(jié)果是,準(zhǔn)確率很高,召回率較低。 在互聯(lián)網(wǎng)出現(xiàn)之前,抄很不方便,一是源少,而是發(fā)布渠道少;而在互聯(lián)網(wǎng)出現(xiàn)之后,抄變得很簡(jiǎn)單,鋪天蓋地的源源源不斷,發(fā)布渠道也數(shù)不勝數(shù),博客論壇甚至是自建網(wǎng)...
摘要:?jiǎn)栴}由來(lái)遇到一道面試題找到數(shù)組中第一個(gè)非重復(fù)的數(shù)。下面來(lái)通過(guò)代碼解決三個(gè)問(wèn)題數(shù)組去重去重前去重后主要思路創(chuàng)建一個(gè)空,遍歷原始數(shù)組,把數(shù)組的每一個(gè)元素作為存到中,因?yàn)橹胁粫?huì)出現(xiàn)相同的值,所以最終得到的中的所有值就是去重后的結(jié)果。 問(wèn)題由來(lái) 遇到一道面試題:找到數(shù)組中第一個(gè)非重復(fù)的數(shù)。 [ 1, 1, 2, 2, 3, 4, 4, 5 ]第一個(gè)非重復(fù)的數(shù)為 3 最簡(jiǎn)單的想法就是兩層 for...
摘要:微型異步爬蟲框架基于的異步框架,搭建一個(gè)模塊化的微型異步爬蟲。可以對(duì)該爬蟲的布隆過(guò)濾器進(jìn)行配置,安裝中間件等?;卣{(diào)函數(shù)整個(gè)項(xiàng)目的主要實(shí)現(xiàn)在于回調(diào)函數(shù)的使用,利用異步請(qǐng)求得到響應(yīng)后馬上調(diào)用其請(qǐng)求綁定的回調(diào)函數(shù)來(lái)實(shí)現(xiàn)爬蟲的異步爬取。 Amipy Python微型異步爬蟲框架(A micro asynchronous Python website crawler framework) 基于...
閱讀 923·2023-01-14 11:38
閱讀 895·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2055·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02