How to extract from a list of objects a list of specific attribute?

Question:

I have a list of objects. Object has 3 string attributes. I want to make a list containing only a specific attribute from class.

Is there any built-in functions to do that?

Asked By: Janis Veinbergs

||

Answers:

Assuming you want field b for the objects in a list named objects do this:

[o.b for o in objects]
Answered By: RossFabricant

The first thing that came to my mind:

attrList = map(lambda x: x.attr, objectList)
Answered By: Coffee on Mars

are you looking for something like this?

[o.specific_attr for o in objects]
Answered By: SilentGhost

A list comprehension would work just fine:

[o.my_attr for o in my_list]

But there is a combination of built-in functions, since you ask 🙂

from operator import attrgetter
map(attrgetter('my_attr'), my_list)
Answered By: Jarret Hardie
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.