Python的Set和List的性能比较 + 两者之间的转换
1.能用set 不用list
~$ python -m timeit -n 1000 "[x for x in range(1000) if x in range(500, 1500)]"
1000 loops, best of 3: 28.2 msec per loop
~$ python -m timeit -n 1000 "set(range(1000)).intersection(range(500, 1500))"
1000 loops, best of 3: 120 usec per loop
List 大概用了Set的225倍的时间。List转Set基本用不了什么时间,所以如果有需要求(集合,列表等)的并集和交集的时候,最好使用Set。
2.
set转成list方法如下:                                                     list转成set方法如下:
s = set('12342212')                                                      l = ['12342212']
print s    # set(['1', '3', '2', '4'])                                    s = set(l[0])
l = list(s)                                                                          print s    # set(['1', '3', '2', '4'])
l.sort()    # 排序                                                               m = ['11','22','33','44','11','22']
print l    # ['1', '2', '3', '4']                                              print set(m)    # set(['11', '33', '44', '22'])
可见set和lsit可以自由转换,在删除list中多个/海量重复元素时,可以先转换成set,然后再转回list并排序(set没有排序)。此种方法不仅方便且效率较高。
Python的Set和List的性能比较 + 两者之间的转换的更多相关文章
- python中日志logging模块的性能及多进程详解
		python中日志logging模块的性能及多进程详解 使用Python来写后台任务时,时常需要使用输出日志来记录程序运行的状态,并在发生错误时将错误的详细信息保存下来,以别调试和分析.Python的 ... 
- 《Python CookBook2》 第一章 文本 - 每次处理一个字符 && 字符和字符值之间的转换
		文本 - 总结: 什么是文本Python 中的string 类型是不可变类型.文本,一个字符的矩阵,每一个单独的文本快可以被缩进和组织起来. 基本的文本操作①解析数据并将数据放入程序内部的结构中:②将 ... 
- Python数字与字符之间的转换
		Python数字与字符之间的转换 命令 意义 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 co ... 
- Ubuntu16.04系统中不同版本Python之间的转换
		Ubuntu系统自带的版本是2.7.12 安装好python3.6之后,改变一下Python的优先级(需要root权限). 在使用下面这个命令查看电脑里面有几个Python版本 update-alte ... 
- Python - 字符和字符值之间的转换
		字符和字符值之间的转换 Python中, 字符和字符值, 直接的转换, 包含ASCII码和字母之间的转换,Unicode码和数字之间的转换; 也可以使用map, 进行批量转换, 输出为集合, 使用jo ... 
- python中unicode, hex, bin之间的转换
		python中unicode, hex, bin之间的转换 背景 在smb中有个feature change notify, 需要改动文件权限dacl,然后确认是否有收到notify.一直得不到这个d ... 
- 零基础如何学好Python 之int 数字整型类型 定义int()范围大小转换
		本文主题是讲python数字类型python int整型使用方法及技巧.它是不可变数据类型中的一种,它的一些性质和字符串是一样的,注意是整型不是整形哦. Python int有多种数字类型:整型int ... 
- python—时间与时间戳之间的转换
		python-时间与时间戳之间的转换 对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块 ... 
- python学习笔记(3) -- 字符与数字之间的转换函数
		转载:python中的字符数字之间的转换函数 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 ... 
随机推荐
- HTML5学习总结-11 IOS 控件WebView显示网页
			一 加载外部网页 1.使用UIWebView加载网页 运行XCode 新建一个Single View Application . 2 添加安全消息 添加以下消息到项目的 Info.plist &l ... 
- python 模拟登陆,请求包含cookie信息
			需求: 1.通过GET方法,访问URL地址一,传入cookie参数 2.根据地址一返回的uuid,通过POST方法,传入cooki参数 实现思路: 1.理解http的GET和POST差别 (网上有很多 ... 
- javascript Date format(js日期格式化)
			这个用这比较爽,记录一下// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年( ... 
- angularjs笔记(三)
			AngularJS API 7.其他一些常用指令,布尔类型的指令也可以用表达式 (1).数组索引$index <!DOCTYPE html> <html> <head&g ... 
- centos6.5编译安装git
			1.下载高版本的git,地址:https://github.com/git/git/release,选择git-2.9.3.tar.gz 2.安装依赖包.解压.编译安装 yum install cur ... 
- Unity3D Multi-Compile Shader
			http://www.martinpalko.com/muli-compile-unity/ http://forum.unity3d.com/threads/tutorial-shade-more- ... 
- PHP站内搜索、多关键字、加亮显示
			php搜索代码: 搜索以PHP100开头: SELECT * FROM teble WHERE title LIKE 'PHP100%' 搜索以PHP100结束: SELECT * FROM te ... 
- HighCharts学习笔记(二)HighCharts结构及详细配置
			HighCharts结构及详细配置: 一.HighCharts整体结构: 通过查看API文档我们知道HighCharts结构如下:(API文档在文章后面提供下载) var chart = new Hi ... 
- 快捷键_Mac
			苹果Mac系统常用快捷键 Command+Tab 任意情况下切换应用程序 - 向前循环 Shift+Command+Tab 切换应用程序 - 向后循环 Command+L 当前程序是浏览器时,可以直接 ... 
- 后缀.jar的是什么文件?
			解压kafka 打开后是一堆.jar结尾的文件,那么后缀.jar的是什么文件? JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种 ... 
