我想知道字符串重复的最佳练习。
我一直听说我不应该使用for i in range(len(x)): string += x[i]
模式进行字符串连接,而应该使用string = ''.join(x)
代替,因为python字符串的加法运算符实现效率低。
但速度测试是:
$ python -m timeit "100*'string'"
1000000 loops, best of 3: 0.23 usec per loop
$ python -m timeit "''.join(['string' for i in xrange(100)])"
100000 loops, best of 3: 6.45 usec per loop
字符串乘法的实现细节怎么样?我知道str * n
等于str.__imul__(n)
,但它是如何实现的我不知道。