python兩種列表元素去重函式效能比較

2021-08-07 10:43:58 字數 1302 閱讀 1205

測試函式:

第一種:list的set函式

第二種:{}.fromkeys().keys()

測試**:

#!/usr/bin/python

#-*- coding:utf-8 -*-

import time

import random

l1 =

leng = 10l

for i in range(0,leng):

temp = random.randint(1,10)

print '測試列表長度為:',leng

#first set

last = time.clock()

l2 = list(set(l1))

print l2

now = time.clock()

print '第一種:',now-last

#second

last = time.clock()

l2 = {}.fromkeys(l1).keys()

print l2

now = time.clock()

print '第二種:',now-last

測試結果:

我們可以看出,當測試列表長度很短時,使用第二種方法較快,在1000時,第一種效能已經超過第二種了,列表越長,第一種方法優勢越明顯。當頻繁的對短列表進行去重時(長度<=1000)建議使用第二種方法,當長度超過1000時建議使用第二種方法。

但歸根結底,建議不要用python進行大規模的資料計算,建議使用matlab、或者python的matlab庫,畢竟專業的還是厲害。

python中df去重 python去重函式是什麼

資料去重可以使用duplicated 和drop duplicates 兩個方法。dataframe.duplicated subset none,keep first 返回boolean series表示重複行 引數 subset 列標籤或標籤序列,可選 僅考慮用於標識重複項的某些列,預設情況下使...

Python 列表元素去重的3種方法

以前面試的時候遇到過這個問題,今天閒著整理了以下,大概想到以下三種方法。class delect duplicate def method set self,mlist print method set is called print before process mlist is mlist l2...

mysql 去重的兩種方式

使用原則 1 distinct必須放在要查詢欄位的開頭,不能放在查詢欄位的中間或者後面 select distinct name from user 獲取不重名的name 記錄 select id,distinct name from user 這種寫法是錯誤的,distinct只能寫在所有查詢欄位...