在两个代码示例中,列表仅排序一次。
in在开始循环之前,仅对一次for循环标头中运算符右侧的表达式求值。您可以在文档中阅读:
for_stmt :: =“ for” target_list“ in” expression_list“:”套件 [“ else”“:”套件]表达式列表被评估一次 ; 它应该产生一个可迭代的对象。
实际上,第二个代码示例效率 较低, 因为存在不必要的分配。

在两个代码示例中,列表仅排序一次。
in在开始循环之前,仅对一次for循环标头中运算符右侧的表达式求值。您可以在文档中阅读:
for_stmt :: =“ for” target_list“ in” expression_list“:”套件 [“ else”“:”套件]表达式列表被评估一次 ; 它应该产生一个可迭代的对象。
实际上,第二个代码示例效率 较低, 因为存在不必要的分配。