2016-05-14 93 views

回答

3

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

让我们来看看这是更有效,使用ipython%timeit功能:

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 

因此,到了20倍以上的因素,第一是快,我的机器上。当然,你的结果可能会有所不同。

Ps。可能是所有的最好的选择a1 = 'aaaaa'

+0

重新记录你的密码:是的,如果在编写程序时已知'a'的数量... – gboffi

2

我会去在任何情况下,第一个:

禅3:简单比复杂好。

+0

绝对同意此答案的消息。除非代码段对性能至关重要,否则即使速度稍慢,也要坚持最简单的表达式。但是,在这种情况下,第二种方法既复杂又慢。 – Reti43