2009-03-24 23 views

Respuesta

36

Una lista por comprensión funcionaría bien:

[o.my_attr for o in my_list] 

Pero hay una combinación de funciones integradas, ya que preguntas :-)

from operator import attrgetter 
map(attrgetter('my_attr'), my_list) 
+0

Excelente. ¡Gracias! –

+0

que no está incorporado si necesita importar. ;) http://docs.python.org/library/functions.html – SilentGhost

+3

Suplico matizar: "built-in"! = "__builtins__". Bueno, esa es mi historia y me estoy apegando a ella, oficial.: -) –

0

Suponiendo que desee campo b para los objetos en una lista llamada objects hacer esto:

[o.b for o in objects] 
+0

supongo que quería decir [ ob para o en objetos]. –

3

Lo primero que vino a mi mente:

attrList = map(lambda x: x.attr, objectList) 
+0

¿Qué pasa con lambda? –

7

¿Está buscando algo como esto ?

[o.specific_attr for o in objects] 
Cuestiones relacionadas