欢迎光临散文网 会员登陆 & 注册

【python】"join"和"+"有什么区别?

2022-01-25 23:25 作者:阿提艾斯  | 我要投稿

python编程拼接字符串,经常用join和+,它俩拼接字符串的结果是一样的,举个例子:

运行结果

但是: join连接效率 > 操作符+连接效率

举例:将999999个“atiaisi”拼接起来

运行结果:

比对

可以明显看出join执行速度比+快很多,效率提升了大概190倍。

原因:字符串是不可变的对象,就不在字符串本身做文章了,那就另外开辟空间。

+号在拼接字符串的时候,会先开辟一块空间,把+号左边的字符串和+号右边的字符串合起来放在新开辟的空间内,这样有几个+号,就会开辟几次空间。

操作符+拼接


join拼接字符串也需要开辟空间,但是会提前算好总共需要开辟多大的空间,一次性把内存申请好,然后把所有的字符串合起来放在这个新的空间中,这样就不用频繁申请空间了。

join拼接字符串


总结:

1、优先使用join拼接字符串。数据量越大,效率差异越明显。

2、从内存消耗上来看,+操作符消耗的内存要比join消耗的内存大。多在中间临时生成的字符串对象占用的内存。



以上是自己根据网上资料总结和扩展的,了解的不深,如果哪些知识点有误,欢迎指正~

~~~


【python】"join"和"+"有什么区别?的评论 (共 条)

分享到微博请遵守国家法律