我有一个对象列表。对象有3个字符串属性。我想创建一个仅包含类中特定属性的列表。
有没有内置函数可以做到这一点?
答案 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]