Python字符乘法或列表乘法

时间:2016-05-14 22:51:02

标签: python

a1 = 'a'*5
a2 = ''.join(['a']*5)

说我上面有两个变量。只是想知道哪一个更有效率或更好的实践使用。

谢谢!

2 个答案:

答案 0 :(得分:3)

第一种显然是更好的做法 - 它更清楚地表达了你的实际意图。

让我们使用ipython的{​​{1}}函数找出哪个更有效:

%timeit

因此,在我的机器上,第一个更快,超过20倍。当然,您的结果可能会有所不同。

聚苯乙烯。 crouse In [1]: %timeit a1 = 'a'*5 10000000 loops, best of 3: 14.6 ns per loop In [2]: %timeit a1 = ''.join(['a']*5) 1000000 loops, best of 3: 326 ns per loop In [3]: 326/14.6 Out[3]: 22.328767123287673 可能是最好的选择。

答案 1 :(得分:2)

在任何情况下我都会选择第一个:

  

禅宗3:简单比复杂更好。