经常看到说两个很大的list相减时不要用–,那用什么,为什么用,为什么不能用,今天来从源码中一探究竟
常用的 - -
可能两个List相减第一印象就是List1–List2,高级点可能是lists:subtract(List1,List2),但其实lists:subtract就是–
![image-20210625162450543](https://i-blog.csdnimg.cn/blog_migrate/e0fcf236935270d064ca3ffc5942ccfc.png)
在Erlang的OTP文档中也有介绍到,A–B的复杂度与length(A) * length(B)成正比,也就是说如果A和B都很长的话就僵硬了
![image-20210625163729678](https://i-blog.csdnimg.cn/blog_migrate/b2ef32dd79814b2d71ed2aa2e56ce136.png)
该pdf文档路径如下
![image-20210625163711370](https://i-blog.csdnimg.cn/blog_migrate/9dff0ac4b1153bea0af7f4d01859ee35.png)
解决方案
这pdf不可能只告诉我们不能怎么做,而不告诉我们该怎么做吧?仔细找找发现确实有推荐的方法
![image-20210625164117626](https://i-blog.csdnimg.cn/blog_migrate/c157fdfd941ad2a3b9d394dd865a3bec.png)
翻译翻译就是说,列表