У меня есть список объектов. Объект имеет 3 строковых атрибута. Я хочу сделать список, содержащий только определенный атрибут из класса.
Есть ли встроенные функции для этого?
Понимание списка будет работать просто отлично:
[o.my_attr for o in my_list]
Но есть комбинация встроенных функций, так как вы спрашиваете: -)
from operator import attrgetter map(attrgetter('my_attr'), my_list)
вы ищете что-то подобное?
[o.specific_attr for o in objects]
Первое, что пришло мне в голову:
attrList = map(lambda x: x.attr, objectList)
Предполагая, что вы хотите поле b для объектов в списке с именем objects, сделайте следующее:
b
objects
[o.b for o in objects]