如何从对象列表中提取特定属性列表?

时间:2009-03-24 14:31:44

标签: python

我有一个对象列表。对象有3个字符串属性。我想创建一个仅包含类中特定属性的列表。

有没有内置函数可以做到这一点?

4 个答案:

答案 0 :(得分:45)

列表理解可以正常工作:

[o.my_attr for o in my_list]

但是有一些内置函数的组合,因为你问: - )

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

答案 1 :(得分:7)

你正在寻找这样的东西吗?

[o.specific_attr for o in objects]

答案 2 :(得分:5)

我想到的第一件事是:

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

答案 3 :(得分:0)

假设您希望字段b用于名为objects的列表中的对象,请执行以下操作:

[o.b for o in objects]