今天看啥  ›  专栏  ›  志军

Python 中,字符串"连接"效率最高的方式是?一定出乎你的意料

志军  · 公众号  · Python  · 2017-08-04 20:00
网上很多文章人云亦云,字符串连接应该使用「join」方法而不要用「+」操作。说前者效率更高,它以更少的代价创建新字符串,如果用「+」连接多个字符串,每连接一次,就要为字符串分配一次内存,效率显得有点低,这样的解释听起来很有道理,但 Cpython 解释器是不是真的按照我们说的这样呢?今天做了一个试验,结果可能会出乎你的意料。def join(n):    s = "".join((str(i) for i in range(n)))def format(n):    ("{}" * n).format(*(i for i in range(n)))def plus(n):    s = ""    for i in range(n):        s += str(i)上面 3 个函数分别表示用「join」和「format」还有「+」操作来连接字符串,从 0 到 n,总共 n 个数字连接起来构成一个新的字符串,形如:1234567891011……n。下面是测试脚本:每组取 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照