Ответ 1
Понимание списка будет работать очень хорошо:
[o.my_attr for o in my_list]
Но есть комбинация встроенных функций, так как вы спрашиваете: -)
from operator import attrgetter
map(attrgetter('my_attr'), my_list)
У меня есть список объектов. Объект имеет 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
сделало следующее:
[o.b for o in objects]