這篇文章主要介紹python集合和列表推導式哪個去重速度快,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)成都托管服務器,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
先講講set(集合)的使用,大括號或 set() 函數(shù)可以用來創(chuàng)建集合。set集合類需要的參數(shù)必須是迭代器類型的,如:序列、字典等,然后轉(zhuǎn)換成無序不重復的元素集。由于集合是不重復的,所以可以對字符串、列表、元組進行去重操作。
集合是從列表(list)中刪除重復值的最快的方法。為了證明這一點,讓我們研究以下兩種方法之間的差異。
方法 1:使用集合刪除列表中的重復值。
print(list(set([1, 2, 3, 1, 7])))
方法 2:使用一個列表推導式(list comprehension)從一個列表中刪除重復值。
def remove_duplicates(original): unique = [] [unique.append(n) for n in original if n not in unique] return(unique) print(remove_duplicates([1, 2, 3, 1, 7]))
性能的差異可以用「timeit」庫來測量,這個庫允許你對 Python 代碼進行計時。下面的代碼將每種方法運行了 10,000 次,并且以秒為單位輸出了總計時間。
import timeit # Approach 1: Execution time print(timeit.timeit('list(set([1, 2, 3, 1, 7]))', number=10000)) # Approach 2: Execution time print(timeit.timeit('remove_duplicates([1, 2, 3, 1, 7])', globals=globals(), number=10000))
對比這兩種方法,結(jié)果表明,使用集合刪除重復值是更加高效的。雖然時間差異看似很小,但實際上在有一個非常大的列表時,能幫你節(jié)省很多的時間。
以上是“python集合和列表推導式哪個去重速度快”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁標題:python集合和列表推導式哪個去重速度快
網(wǎng)頁鏈接:http://jinyejixie.com/article22/jjiijc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站導航、微信小程序、用戶體驗、網(wǎng)站營銷、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)