2015-09-26 44 views

回答

5

使用string formattingstr.join()list comprehension

', '.join(['%({})s'.format(i) for i in inputlist]) 

演示:

>>> inputlist = ['1','2','3','4'] 
>>> ', '.join(['%({})s'.format(i) for i in inputlist]) 
'%(1)s, %(2)s, %(3)s, %(4)s' 

List comprehension without [ ] in Python爲什麼它是更好地使用列表理解,而不是在這裏一臺發電機的表達。

+1

'join'可以生成一個生成器,因此我正在投票結束該問題。不需要先創建一個「列表」。 – Olaf

+0

'str.join()'方法將生成器轉換爲列表,因爲它必須分析兩次內容(計算長度,然後生成輸出)。通過使用列表理解,你會獲得一些性能。參見[list comprehension without \ [\],Python](http://stackoverflow.com/a/9061024) –

+0

有趣。謝謝(雖然我仍然不喜歡理解,如果速度不是問題,這更清楚 - 但我會明確地記住這一點,而不僅僅是'join')。我想知道這是否隨列表內容發生變化。 – Olaf

相關問題