我想使用类属性来制作所有属性的单个列表:
from dataclasses import dataclass
@dataclass
class Foo:
a: int
b: int
data = [
Foo(1,2),
Foo(3,4)
]
print([[foo.a, foo.b] for foo in data])
但结果是属性列表的列表。如何获得包含所有属性 [1,2,3,4]
而不是 [[1,2],[3,4]]
的单个列表?
最佳答案
我建议您使用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]
关于python - 具有类属性的列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62959004/