所以我想拉過一招其實我第一次聽說這個網站的中間調用打印。在Python列表理解
[i for i in range(0, 10) if True or print(i)]
的想法是,你可以堅持到底的「如果」語句,將始終返回true內部在listcomp的每一步調用任意函數。但是,該代碼給出了語法錯誤。
如果我換我想這樣調用的函數,雖然:
def f(i):
print i
[i for i in range(0, 10) if True or f(i)]
它產生所需的輸出。所以我想知道在Python的思想中,兩者之間有什麼區別,因爲我不知道它可能是什麼 - 兩個函數都返回「無」,對吧?
'從__future__進口print_function';但爲什麼你需要有副作用呢? – 2013-05-01 14:51:06
如果您實際上不需要它生成的列表,請不要使用列表解析來代替for-loop。 – chepner 2013-05-01 14:55:37