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


Posted in Python onJune 29, 2018

测试函数:

第一种: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

测试结果:

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

我们可以看出,当测试列表长度很短时,使用第二种方法较快,在1000时,第一种性能已经超过第二种了,列表越长,第一种方法优势越明显。当频繁的对短列表进行去重时(长度<=1000)建议使用第二种方法,当长度超过1000时建议使用第二种方法。

但归根结底,建议不要用python进行大规模的数据计算,建议使用matlab、或者python的matlab库,毕竟专业的还是厉害。

以上这篇对python中两种列表元素去重函数性能的比较方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
Jun 09 Python
Python中文件操作简明介绍
Apr 13 Python
探究Python的Tornado框架对子域名和泛域名的支持
May 02 Python
详解K-means算法在Python中的实现
Dec 05 Python
Python实现PS滤镜碎片特效功能示例
Jan 24 Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 Python
Python实现Linux监控的方法
May 16 Python
python numpy实现文件存取的示例代码
May 26 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
python 环境搭建 及python-3.4.4的下载和安装过程
Jul 20 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 Python
Python数据持久化shelve模块用法分析
Jun 29 #Python
python 统计列表中不同元素的数量方法
Jun 29 #Python
python计算两个数的百分比方法
Jun 29 #Python
python统计字母、空格、数字等字符个数的实例
Jun 29 #Python
python中计算一个列表中连续相同的元素个数方法
Jun 29 #Python
Python使用ConfigParser模块操作配置文件的方法
Jun 29 #Python
python计算列表内各元素的个数实例
Jun 29 #Python
You might like
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
PhpMyAdmin中无法导入sql文件的解决办法
2010/01/08 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
JQuery 写的个性导航菜单
2009/12/24 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
泰国国际航空公司官网:Thai Airways International
2019/12/04 全球购物
小学教师岗位职责
2013/11/25 职场文书
技术经理的自我评价范文
2013/12/03 职场文书
考察现实表现材料
2014/05/19 职场文书
健康教育评估方案
2014/05/25 职场文书
格林童话读书笔记
2015/06/30 职场文书
教师素质教育心得体会
2016/01/19 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
详解OpenCV曝光融合
2022/04/29 Python
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python