将 for 循环的输出分配为动态列表中的变量

Guy*_*kle 1 python for-loop list-comprehension dynamic-list

有没有办法将 for 循环的输出分配为方法输出的变量?两个输出都是相同长度的列表。

下面,我在 pdfplumber 的每一页上执行 .pages 方法。我想将每个页面分配给变量 p0、p1、p2...等,然后使用 .extracttext 方法提取文本。页的总数将是动态的,因此我不能简单地将列表解压缩为 (p1, p2, p3) = .....

我打印只是为了提供视觉辅助输出。

import pdfplumber

with pdfplumber.open(file) as pdf:
    
    print(pdf.pages)
        
    for pages in total_pages_range:
        print("p" + str(pages))
Run Code Online (Sandbox Code Playgroud)

输出是:

[<pdfplumber.page.Page object at 0x7ff6b75e9c50>, <pdfplumber.page.Page object at 0x7ff6b761a4d0>]
p0
p1
Run Code Online (Sandbox Code Playgroud)

我需要 p0 = <pdfplumber.page.Page 对象在 0x7ff6b75e9c50> 和 p1 = <pdfplumber.page.Page 对象在 0x7ff6b761a4d0>。但是有了 p2 = ....., p3 = ...... 等的能力,这里可以使用字典吗?

非常感谢,G

Or *_*r Y 5

如果我正确理解您的请求,请使用 dict 理解:

pages_map = {f'p{i}': page for i, page in enumerate(pdf.pages)}
Run Code Online (Sandbox Code Playgroud)