两个list 求交集效率对比

摘要:
__author__='daitr'#--coding:utf-8--importdatetime#方法一:#a=[2,3,4,5]#b=[2,5,8]#tmp=[valforvalinaifvalinb]#printtmp##[2,5]#方法二#printlist(set(a).intersection(set(b)))#printlist(set(a).union(set(b)))#print
__author__ = 'daitr'
#--coding:utf-8--
importdatetime
#方法一:#a=[2,3,4,5]#b=[2,5,8]#tmp = [val for val in a if val in b]#print tmp##[2, 5]

#方法二#print list(set(a).intersection(set(b)))#print list(set(a).union(set(b)))#print list(set(b).difference(set(a))) # b中有而a中没有的
a,b=[],[]
for i in range(1,60000):
    a.append(i)

for j in range(40000,100000):
    b.append(j)
print a[-1]
print b[-1]

time1 =datetime.datetime.now()
#print time1
tmp = [val for val in a if val inb]
#print tmp
time2 =datetime.datetime.now()
#print time2
d1 = time2-time1
printd1

list(set(a).intersection(set(b)))
#print temp2
time3 =datetime.datetime.now()
#print time3
d2 = time3-time2
print d2

两个list 求交集效率对比第1张

免责声明:文章转载自《两个list 求交集效率对比》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇谈谈- declare-styleable属性java多线程开发之CyclicBarrier,CountDownLatch下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

14款优秀的JavaScript调试工具大盘点

官方网站:http://www.jshint.com/4.Grunt Grunt是一个基于任务的命令行构建工具,适用于JavaScript项目。Venkman旨在为Mozilla提供一个基于浏览器的强大JavaScript调试环境。官方网站:http://www.my-debugbar.com/wiki/CompanionJS/HomePage10.Simp...

kvm虚拟机快照备份

kvm虚拟机默认使用原始图像格式,该格式具有最佳性能和最快速度。它的缺点是不支持一些新功能,例如映像、zlib磁盘压缩、AES加密等。接下来,启动kvm虚拟机快照备份的过程。查看虚拟机映像快照的版本查看当前虚拟机映像snapshot的版本。您可以看到它是最新的快照版本。...

JAVA 实现CLOB转String

CLOB定义了用于在数据库中保存文件的类型。SQLCLOB是一种内置类型,它将一个大型字符对象作为列值存储在数据库表的一行中。默认情况下,驱动程序使用SQLlocator实现Clob对象,这意味着Clob对象包含指向SQLCLOB数据的逻辑指针,而不是数据本身。Clob对象在其创建的事务期间有效。在一些数据库系统中,文本也用作CLOB的别名。例如,SQL S...

docker.service启动失败:Unit not found的原因及解决办法

解决方案是删除/usr/lib/systemd/system/docker.service的[UNIT]中包含的dockersocket,然后重新加载systemctldaemon,最后是systemctlstartdocker.service。启动成功。在类似的情况下,docker.socket缺失,但新版本需要docker.seocket。这是因为Fla...

FTPClient

(iReplyCode==331||iReplyCode==230)){CloseSocketConnect();thrownewIOException(strReply.Substring(4));}if(iReplyCode!=230){SendCommand("PASS"+strRemotePass);if(!=null){SendCommand("Q...

「Docker」关于 Docker volume 挂载时文件或文件夹不存在的问题

背景:Dockervolume允许我们在启动Docker容器时动态装载一些文件以覆盖图像中的原始文件。然而,当我们将主机上不存在的文件夹或文件装载到容器时会发生什么?由于文件装载仅覆盖单个文件,而不会影响容器中同一文件夹中的其他文件,因此通常用于装载配置文件,以在运行时动态修改默认配置。如果您尝试提前在主机/文件夹路径/A中放置一些内容,您会发现在容器启动后...