2024-04-19 08:44:27 发布
网友
我有一个包含大量信息的类(ElementList)。我实现了一个方法(.ToArray()),它获取对象的一些信息并将其放入数组或列表中
我要循环这个数组。当我执行以下操作时:
for Element in ElementList.ToArray() Do stuff
它是否每次都执行.ToArray()
根据https://docs.python.org/3/reference/compound_stmts.html#the-for-statement
for_stmt ::= "for" target_list "in" expression_list ":" suite ["else" ":" suite]
The expression list is evaluated once; it should yield an iterable object.
所以你的ElementList.ToArray()只执行一次
ElementList.ToArray()
你可以通过让你的函数打印一些东西来实验验证这一点;然后你可以观察到它只打印一次
>>> def make_list(): ... print("I'm being evaluated!") ... return [1,2,3] ... >>> for x in make_list(): ... print(x) ... I'm being evaluated! 1 2 3
根据https://docs.python.org/3/reference/compound_stmts.html#the-for-statement
所以你的
ElementList.ToArray()
只执行一次你可以通过让你的函数打印一些东西来实验验证这一点;然后你可以观察到它只打印一次
相关问题 更多 >
编程相关推荐