python - 具有类属性的列表理解
问题描述
我想使用类属性来制作所有属性的单个列表:
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]
推荐阅读
- c# - VS 创建单元测试命令不适用于内部方法?
- wordpress - Wordpress 发布上一个/下一个链接,仅在上一个上带有图像和标题
- javascript - 打开 pdf 文件时启用旋转
- sql - 如何从 oracle PL/SQL 集合中选择所有行到 SYS_REFCURSOR
- python - 获取结果时 pyodbc 到 SQL Server 的速度太慢
- java - 如何将 javac 与 jars 和包一起使用
- python - 如何使用python根据通用标识符合并2个excel电子表格?
- java - 如何将数据附加到 Gson JsonObject 中的属性?
- c# - 在 Entity Framework DB First .Net 应用程序中放置 CRUD 功能的位置
- javascript - 使用 javascript 显示选定复选框的列表