2016-05-14 94 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