Python 中字符串正确的连接方式

  • 字符串的拼接有两种方式,一种是+,另一种是join
    这两种方式都可以拼接字符串,但是效率有所不同,
  • 是每次都会申请内存来存储上一次的结果和本次循环的结果。时间复杂度是O(n^2).
  • 而join是一次性申请总的内存空间,并将字符序列的每一元素复制到内存中去。时间复杂度O(n).
    +所以使用字符串拼接使用join.
  • 使用时间对比
import timeit # 计算时间的模块

strlist = ["Happy Spring Festival" for n in range(100000)]
def join_test():
    return "".join(strlist)

def plus_test():
    result = ''
    for i,v in enumerate(strlist):
        result = result+ v
    return result


if __name__ == '__main__':
    jointimer = timeit.Timer("join_test()","from __main__ import join_test").timeit(100)
    print(jointimer)
    # print(jointimer.timeit(number=100))

    plustimer = timeit.Timer("plus_test()","from __main__ import plus_test").timeit(100)
    print(plustimer)

我本机的运行时间是:
在这里插入图片描述

发布了127 篇原创文章 · 获赞 25 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_44224529/article/details/104056361