如何在列表理解中使用计数器变量?



这个问题是关于列表理解的。然而,可迭代对象有点复杂,所以我对如何编写这个列表推导感到困惑。

我有一些pydantic类,像这样

class textbox(BaseModel):
x1: int
y1: int
x2: int
y2: int

class Page(BaseModel):
color: List[RGB]
textboxes: List[textbox]

class Notepad(BaseModel):
pages: List[Page]

假设它们都有适当的值。我想做这样的一个列表理解,这样我可以访问每个页面单独和每个页面访问的每个文本框,放在一个列表。

TotalTextBox = [textbox in textboxes for Notepad.pages[i].textboxes] 

但是我遇到了一个问题,因为列表理解不允许我使用计数器变量I。有人能帮我解决这个问题吗?谢谢你。

注:我不想用enumerate。我想要一个简单的列表作为结果

您希望在Python中使用enumerate函数。

我建议从简单开始,并使用多个for循环,因为你知道如何实现它。

然后慢慢地将其移动到一个综合列表中。把你的问题分成几个阶段,然后把它们转化成你想要的答案,往往更容易。

enumerate如何与列表理解一起工作以将其应用于您的问题的示例

a_list = ["a", "b", "c"]
enumerate_list = [(index, element) for index, element in enumerate(a_list)]

打印列表如下所示:

print(enumerate_list)
[(0, 'a'), (1, 'b'), (2, 'c')]

按Haroldo建议,证明这实际上提供的最终结果列表,如果您打印类型:

print(type(enumerate_list))

输出如下:

<class 'list'>

这可以根据你的需要修改,只要应用你的清单知识,慢慢来。

相关内容

  • 没有找到相关文章

最新更新