這篇文章主要介紹python集合和列表推導(dǎo)式哪個去重速度快,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
先講講set(集合)的使用,大括號或 set() 函數(shù)可以用來創(chuàng)建集合。set集合類需要的參數(shù)必須是迭代器類型的,如:序列、字典等,然后轉(zhuǎn)換成無序不重復(fù)的元素集。由于集合是不重復(fù)的,所以可以對字符串、列表、元組進(jìn)行去重操作。
集合是從列表(list)中刪除重復(fù)值的最快的方法。為了證明這一點(diǎn),讓我們研究以下兩種方法之間的差異。
方法 1:使用集合刪除列表中的重復(fù)值。
print(list(set([1, 2, 3, 1, 7])))
方法 2:使用一個列表推導(dǎo)式(list comprehension)從一個列表中刪除重復(fù)值。
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 代碼進(jìn)行計(jì)時。下面的代碼將每種方法運(yùn)行了 10,000 次,并且以秒為單位輸出了總計(jì)時間。
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é)果表明,使用集合刪除重復(fù)值是更加高效的。雖然時間差異看似很小,但實(shí)際上在有一個非常大的列表時,能幫你節(jié)省很多的時間。
以上是“python集合和列表推導(dǎo)式哪個去重速度快”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前標(biāo)題:python集合和列表推導(dǎo)式哪個去重速度快-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.rwnh.cn/article28/csdpcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、定制網(wǎng)站、微信公眾號、網(wǎng)站收錄、全網(wǎng)營銷推廣、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)