Список извлечения атрибутов из списка объектов в Python

У меня есть универсальный список объектов в Python:

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

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

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

Каков pythonic способ сделать его,

attr=[o.attr for o in objsm]

?

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

objs.getattribute("attr")

?

66
задан franjesus 29 April 2010 в 18:31
поделиться

2 ответа

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

attr=(o.attr for o in objsm)

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

64
ответ дан 24 November 2019 в 14:58
поделиться

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

70
ответ дан 24 November 2019 в 14:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: