python - 具有类属性的列表理解

标签 python list list-comprehension

我想使用类属性来制作所有属性的单个列表:

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/

相关文章:

python - 如何获取 javascript 存储的 cookie?

python - matplotlib 中的 pcolor

python - 不作用于对象数据的方法是否应该设为静态?

python - 从 python 列表对象和单引号中删除前缀

c# - 如何仅从 C# 中的字符串列表中获取唯一值?

erlang - erlang列出:dropwhile weird result

python - 在 python 中理解的字典列表

python - 定义同一个变量两次/有助于理解

如果项目不包含在列表中,Python 列表理解

java.util.List subList(int,int) 在 ArrayList 和 LinkedList 中的行为