对python中两种列表元素去重函数性能的比较方法

yipeiwu_com6年前Python基础

测试函数:

第一种: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)
 l1.append(temp)
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中两种列表元素去重函数性能的比较方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python获取指定路径下所有指定后缀文件的方法

本文实例讲述了python获取指定路径下所有指定后缀文件的方法。分享给大家供大家参考。具体实现方法如下: # 获取指定路径下所有指定后缀的文件 # dir 指定路径 # ext 指定...

python实现在windows下操作word的方法

本文实例讲述了python实现在windows下操作word的方法。分享给大家供大家参考。具体实现方法如下: import win32com from win32com.client...

Python读大数据txt

如果直接对大文件对象调用 read() 方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。即通过yield。     在用P...

python 搜索大文件的实例代码

如下所示: import os,os.path def getBigFile(pathname,filesize):#第一个参数为要遍历的文件夹,第二个是要找的最小文件的大小...

Python搭建代理IP池实现检测IP的方法

Python搭建代理IP池实现检测IP的方法

在获取 IP 时,已经成功将各个网站的代理 IP 获取下来了,然后就需要一个检测模块来对所有的代理进行一轮轮的检测,检测可用就设置为满分,不可用分数就减 1,这样就可以实时改变每个代理的...