都说不管白猫还是黑猫,能抓到老鼠的都是好猫,但是如果一个抓的快,一个抓的慢呢?

字符串连接_字符串的串联功能_字符串连接符号是什么

第一阶段

记得我刚学Python的时候,就是用+操作符来连接字符串的,反正和join()方法得到的结果都一样,干嘛不用简单点的呢?

a = 'o'
b = 'k'
c = a+b
d = ''.join([a, b])
print(c)  # ok
print(d)  # ok

第二阶段

当我需要将列表里面的字符(串)连接起来时…

strList = ['h', 'e', 'l', 'l', 'o']
# 用+操作符
def test1():
    result = ''
    for i in strList:
        result+=i
    return result
# 用join()方法
def test2():
    return ''.join(strList)

真香,还是join()方法简单

第三阶段

发现join()方法不仅简单,速度还快

from timeit import timeit
print(timeit('test1()', 'from __main__ import test1'))
# 0.42002649999999997
print(timeit('test2()', 'from __main__ import test2'))
# 0.19338939999999993

可以看到,使用join()方法耗时更短,如果strList列表中的元素再多点,那么二者的耗时差别会进一步放大。

究其原因是因为,每用一次+操作符都要申请一个新的内存空间,也就是说,把hello中的五个字符连接起来,需要执行四次+操作,共申请了四次内存空间,所以比较慢。

而使用join()方法,则是先计算共需多少内存空间,然后一次性申请。

本网站每日更新互联网创业教程,一年会员只需98,全站资源免费下载点击查看会员权益

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注