for循环追加失败后扩展列表

extending list after for loop append fails

我正在将 pdf 中的数据提取到列表中

list1=[]
for page in pages:
    for lobj in element:
        if isinstance(lobj, LTTextBox):
            x, y, text = lobj.bbox[0], lobj.bbox[3], lobj.get_text()
            
        if isinstance(lobj, LTTextContainer):
            for text_line in lobj:
                for character in text_line:
                    if isinstance(character, LTChar):
                        Font_size = character.size
            list1.append([Font_size,(lobj.get_text())]) 

        if isinstance(lobj, LTTextContainer):
            for text_line in lobj:
                for character in text_line:
                    if isinstance(character, LTChar):
                        font_name = character.fontname
            list1.append(font_name)
            
print(list1)

给了我一个列表列表,其中 font_name 不在每个列表的大小和文本中。

list = [[12.0, 'aaa'], 'IJEAMP+Times-Bold', [12.0, 'bbb'], 'IJEAOO+Times-Roman', [12.0, 'ccc'], 'IJEAMP+Times-Bold', [10.0, 'ddd'], 'IJEAOO+Times-Roman',  [10.0, 'eee'], 'IJEAOO+Times-Roman', [8.0, '2\n'], 'IJEAOO+Times-Roman', 'IJEAOO+Times-Roman']

列表列表应该是什么样子

list = [[12.0, 'aaa', 'IJEAMP+Times-Bold'], [12.0, 'bbb', 'IJEAOO+Times-Roman'], [12.0, 'ccc', 'IJEAMP+Times-Bold'], [10.0, 'ddd', 'IJEAOO+Times-Roman'],  [10.0, 'eee', 'IJEAOO+Times-Roman'], [8.0, '2\n', 'IJEAOO+Times-Roman'], 'IJEAOO+Times-Roman']

如果可能的话,我想寻求解决我的问题的答案,以修复我在代码中的错误。我相信这是可能的,这样我就不需要创建两个列表然后 zip 它们。

我试过 list2.extend([list1, font_name]) 但那并没有成功,因为 font_name 不断分裂成单独的字母

您正在附加到外部列表,而不是您刚刚添加到其中的列表。 这将添加您的内部列表:

list1.append([Font_size,(lobj.get_text())]) 

如果您想扩展添加的列表,您可以使用

list1[-1].append(font_name)

而不是

 list1.append(font_name)