工作中遇到这样一个问题:
代码中有一个逻辑用到了两个列表交集的问题,起初自己写了一个
列表:
product1、product2
交集:
common = len([val for val in product1 if val in product2])
遍历列表2,如果元素同时也在列表1中,把他留下来,看着是没有什么问题,
但是由于计算量在千万次,消耗了4000秒,根本无法满足业务需求,
代码比较多,优化过程中,想办法改了多线程,多进程,效率均没有得到提示,
最后其他问题都排除完了,1天时间过去了,
最后感觉不对,会不会是这个地方的毛病,
于是测试了一下,运算1万次耗时2.5秒,百万次将是250秒
改用内置函数求交集
运算1万次耗时0.045秒,百万次耗时4.66秒
两者百万次运算耗时相差将近250秒,千万次运算差别将达到2450秒
看来内置函数还是靠谱的