龙空技术网

连接字符串用join还是+

Python与数据分析 82

前言:

现时我们对“stringjoinpython”大约比较珍视,同学们都想要了解一些“stringjoinpython”的相关资讯。那么小编也在网络上搜集了一些关于“stringjoinpython””的相关知识,希望同学们能喜欢,咱们快快来学习一下吧!

连接字符串的时候可以用join也可以用+,但这两者有没有区别呢?

我们先来看一下用join和+连接字符串的例子

两者的结果是一样,那么考虑这样一个问题,这两者在性能上有区别吗?

我们来做个实验,比较下join和+的性能

上面的程序有如下的输出

可以看到,join的性能明显好于+。这是为什么呢?

原因是这样的,字符串是不可变对象,当用操作符+连接字符串的时候,每执行一次+都会申请一块新的内存,然后复制上一个+操作的结果和本次操作的右操作符到这块内存空间,因此用+连接字符串的时候会涉及好几次内存申请和复制。而join在连接字符串的时候,会先计算需要多大的内存存放结果,然后一次性申请所需内存并将字符串复制过去,这是为什么join的性能优于+的原因。所以在连接字符串数组的时候,我们应考虑优先使用join。

标签: #stringjoinpython