给定的代码使向量变得平坦,但我想了解这两个for循环的执行顺序。我也检查过Python,但是没有给出执行模式。
>>> # flatten a list using a list comprehension with two 'for'
>>> vec = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> [num for elem in vec for num in elem]
[1,2,3,4,5,6,7,8,9]据我所知,执行顺序就像抽象(从左到右)?对此还有其他看法吗。
这个链接是使用lambda表达式扁平的,我的问题是在List Comp:How to make a flat list out of list of lists?中验证两个for循环执行。
发布于 2019-01-06 04:56:38
你对从左到右的看法是对的。当你也看到等价物时(因为缩进),这也是真的:
vec = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
output = []
for elem in vec: # first layer
for num in elem: # second layer
output.append(num)https://stackoverflow.com/questions/54058715
复制相似问题