2016-02-18 45 views
0

我都存入我要打印一次一個看起來像這樣的結果字符串列表:使用一個代碼行打印爲循環

String 1 
String 2 
String 3 
etc. 

現在,我有這個,它工作正常:

for line in results: 
    print line 

我只是想看看是否有可能將它凝結成一條線來確定最簡單,最短的解決方案。

我可以給列表分配一個變量,例如numbers = [i for i in range(5)]
是否可以將我的代碼轉換爲這樣的東西?

print line for line in results 

我已經嘗試了幾個變化都無濟於事,我已經用盡了我的研究課題,並沒有發現任何確鑿。我只是好奇看看有什麼可能。謝謝!

+1

'對於結果一致:打印line'。全部在一條線上。幹得好。 –

+0

當然!謝謝。 – gliemezis

回答

0
for line in results: print line 

使用Python 3.0打印功能與列表理解:

from __future__ import print_function 

[print(line) for line in results] 
+1

或'map(print,results)' –

1

print('\n'.join(str(line) for line in results))

+0

爲聯接創建列表理解效率更高。 –

+0

爲什麼更高效?我做了幾次測試,在那裏我運行了40000次這個代碼,並且我發現結果非常相似:大約在2到4秒之間。 – zondo

+0

Python必須從生成器創建一個列表,以便能夠知道要爲最終字符串分配多少內存。所以你有發電機的輕微開銷。 –