2014-02-05 78 views
1

假設我有一個名爲myObject的對象類型,它包含一個方法。我有一個列表包含一堆這些對象,我想爲所有這些對象運行一個方法。現在我做這個:將對象的方法映射到對象列表的更多pythonic方法

for object in list_of_objects: 
    object.method() 

我想知道是否有這樣做的更pythonic的方法;也許是這樣的:

map(lambda object:object.method(), list_of_objects) 

我會很感激這方面的一些見解。謝謝。

+0

你的意思是'map(lambda o:o.method,list_of_objects)' –

+2

第一個是最好的,爲什麼在內存中創建一個列表? –

+2

'object.method,'應該是'object.method()'在map()中 –

回答

4

如果您需要爲每個對象調用方法,第一種方法是正確的。

for object in list_of_objects: 
    object.method() 

但是假設你想/需要創建使用從方法的返回值,那麼你應該使用列表理解或map()列表。

+0

@JuriRobl謝謝Juri。 –

相關問題