在嵌套列表理解中排序for语句的原因是什么

Joe*_*Joe 2 python list-comprehension

这个问题描述了如何使用列表推导来展平嵌套结构,如下所示: [leaf for tree in forest for leaf in tree]

正如John Mee在评论中提到的那样,如果for陈述的顺序被颠倒,这将更加清晰,如下所示: [leaf for leaf in tree for tree in forest]

为什么Python的列表推导中的循环按此顺序解释?

Pat*_*ugh 5

这个想法是模仿嵌套for循环.

[x for y in z for x in y]
Run Code Online (Sandbox Code Playgroud)

按照与...相同的顺序组织

for y in z:
    for x in y:
        yield x
Run Code Online (Sandbox Code Playgroud)

这在PEP 202-列表理解中提到

表单[... for x... for y...]嵌套,最后一个索引变化最快,就像嵌套for循环一样.