Python 什么';这是嵌套列表中for语句排序的原因
描述如何使用列表理解来展平嵌套结构,如下所示:Python 什么';这是嵌套列表中for语句排序的原因,python,list-comprehension,Python,List Comprehension,描述如何使用列表理解来展平嵌套结构,如下所示: [林中以叶换树,林中以叶换树] 如评论中所述,如果将for语句的顺序颠倒,这一点会更清楚,如下所示: [以树换叶,以林换树] 为什么Python列表理解中的for循环是按这种顺序解释的 这个想法是为循环模拟嵌套的 [x for y in z for x in y] 其组织顺序与 for y in z: for x in y: yield x 这一点在本节中提到 表单[…for x…for y…]嵌套,最后一个索引
[林中以叶换树,林中以叶换树]
如评论中所述,如果将for
语句的顺序颠倒,这一点会更清楚,如下所示:
[以树换叶,以林换树]
为什么Python列表理解中的for循环是按这种顺序解释的 这个想法是为循环模拟嵌套的
[x for y in z for x in y]
其组织顺序与
for y in z:
for x in y:
yield x
这一点在本节中提到
表单[…for x…for y…]
嵌套,最后一个索引变化最快,就像嵌套for循环一样
因为第一个更好地映射到它所表示的for循环代码
[leaf *for tree in forest for leaf in tree*]
|
V
for tree in forest:
for leaf in tree:
|
V
expected result
而第二个在这个意义上是无效的
[leaf *for leaf in tree for tree in forest*]
|
V
for leaf in tree:
for tree in forest:
|
V
???