4 回答

TA貢獻1873條經驗 獲得超9個贊
我建議你使用itertools.chain.from_iterable
來展平中間列表
In [6]: import itertools
In [7]: print(list(itertools.chain.from_iterable([[foo.a, foo.b] for foo in data])))
[1, 2, 3, 4]

TA貢獻1828條經驗 獲得超13個贊
from functools import reduce
from dataclasses import dataclass
@dataclass
class Foo:
a: int
b: int
data = [
Foo(1,2),
Foo(3,4)
]
result = [[foo.a, foo.b] for foo in data]
print(reduce(list.__add__, result))

TA貢獻1875條經驗 獲得超3個贊
你可以這樣做:
print([value for foo in data for attr, value in foo.__dict__.items()])
它基本上是在做兩個 for 循環,與做的一樣:
for foo in data:
for attr, value in foo.__dict__.items():
print(value)
添加回答
舉報