【发布时间】:2020-04-06 20:15:37
【问题描述】:
我说的是for in 子句的顺序。
此命令有效:
[print(element) for element_list in list_of_lists for element in element_list]
这不是:
[print(element) for element in element_list for element_list in list_of_lists]
我个人觉得第二个更易读。
【问题讨论】:
-
为什么不会您需要特定的订单?如果任何一个工作都会有歧义。参见例如stackoverflow.com/a/45079294/3001761 进行视觉解释。
-
是的,顺序在列表理解中很重要。它与等效的 for 循环的顺序相同,因此在这方面是一致的。此外,您不应该在此处使用列表推导。列表推导不适用于副作用,例如
printing。它们用于创建列表。 -
编译器可以使用不同的顺序来进行列表理解和 for 循环吗?