Подтвердить что ты не робот

Извлечь список атрибутов из списка объектов в python

У меня есть единый список объектов в python:

class myClass(object):
    def __init__(self, attr):
        self.attr = attr
        self.other = None

objs = [myClass (i) for i in range(10)]

Теперь я хочу извлечь список с некоторым атрибутом этого класса (пусть, attr), чтобы передать его так, чтобы некоторая функция (для построения этих данных, например)

Что такое пифонический способ сделать это,

attr=[o.attr for o in objsm]

?

Может быть, получить список и добавить к нему метод, поэтому я могу использовать некоторую идиому вроде

objs.getattribute("attr")

?

4b9b3361

Ответ 1

Вы также можете написать:

attr=(o.attr for o in objsm)

Таким образом вы получаете генератор, который сохраняет память. Для получения дополнительных преимуществ смотрите Generator Expressions.

Ответ 2

attrs = [o.attr for o in objs] был правильным кодом для создания списка, подобного тому, который вы описываете. Не пытайтесь подкласса list для этого. Вам что-то не понравилось в этом фрагменте?