Преобразуйте тип свойства всех элементов в списке, используя одну строку для - PullRequest
0 голосов
/ 16 апреля 2020

Если у меня есть следующий класс:

class foo:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.isFoo = True

и у меня есть список foo элементов. Как я могу преобразовать свойство isFoo всех элементов в int, а не в bool в одной строке?

Что-то похожее на:

[option.hoist_loads = int(element.isFoo) for element in foo_list]

1 Ответ

0 голосов
/ 16 апреля 2020

Я бы добавил метод в класс foo, чтобы изменить isFoo с bool на целое число, а затем вернуть экземпляр.

class foo:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.isFoo = True

    def change_foo_int(self):
        self.isFoo = int(self.isFoo)
        return self


spam = [foo(1, 2), foo(3, 4), foo(5, 6), foo(7, 8), foo(9, 10)]
spam = [foo_.change_foo_int() for foo_ in spam]
...