- 字符串的拼接有两种方式,一种是+,另一种是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)
我本机的运行时间是: