这个问题是关于列表理解的。然而,可迭代对象有点复杂,所以我对如何编写这个列表推导感到困惑。
我有一些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'>
这可以根据你的需要修改,只要应用你的清单知识,慢慢来。