对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的pytest框架之命令行参数详解(上)

python的pytest框架之命令行参数详解(上)

前言 pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作。pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比...

python组合无重复三位数的实例

# -*- coding: utf-8 -*- # 简述:这里有四个数字,分别是:1、2、3、4 #提问:能组成多少个互不相同且无重复数字的三位数?各是多少? def f(n):...

使用Pandas对数据进行筛选和排序的实现

使用Pandas对数据进行筛选和排序的实现

筛选和排序是Excel中使用频率最多的功能,通过这个功能可以很方便的对数据表中的数据使用指定的条件进行筛选和计算,以获得需要的结果。在Pandas中通过.sort和.loc函数也可以实现...

python获取程序执行文件路径的方法(推荐)

python获取程序执行文件路径的方法(推荐)

1.获取当前执行主脚本方法:sys.argv[0]和_ file _ (1)sys.argv 一个传给Python脚本的指令参数列表。sys.argv[0]是脚本的名字。一般得到的是...

python实现KNN分类算法

python实现KNN分类算法

一、KNN算法简介 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每...