选择嵌套列表值

2024-09-30 08:24:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用嵌套列表,如下所示:

^{tb1}$

其中,使用列表创建数据表,然后特定列将列表作为其单元格值。我希望能够以这种格式存储此表,但请求数据,以便只调用这些单元格的特定索引来创建新表,如下所示:

^{tb2}$

^{tb3}$

^{tb4}$

目前,我运行以下代码来创建新表:

dataset1 = []
dataset2 = []
dataset3 = []
for row in self.data:
    datarow1 = []
    datarow2 = []
    datarow3 = []
    for col in row:
        if len(col) > 1 and isinstance(col, str) is False:
            datarow1.append(col[0])
            datarow2.append(col[1])
            datarow3.append(col[2])
        else:
            datarow1.append(col)
            datarow2.append(col)
            datarow3.append(col)
    dataset1.append(datarow1[:])
    dataset2.append(datarow2[:])
    dataset3.append(datarow3[:])

这运行得很好,但我想知道是否有一种方法可以构建表,这样我就可以调用这些值,而无需使用这段代码来分隔它们


Tags: 代码in列表forcolrow数据表append
1条回答
网友
1楼 · 发布于 2024-09-30 08:24:44

您可以通过简单的理解来构建这三个数据集,而不是构建中间列表并附加它们:

datasets = [[[
    col[i] if len(col) and not isinstance(col, str) else col 
    for col in row
] for row in data] for i in range(3)]

如果您需要执行涉及所有三个数据集的任何其他操作,那么将它们放在列表中可能比放在三个命名变量中更容易,但是如果您确实需要分别提取dataset1dataset2dataset3,那就是:

[dataset1, dataset2, dataset3] = datasets

相关问题 更多 >

    热门问题