2015-09-26 45 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

相关问题