有人能解释一下这个Python代码吗?

有人能解释一下这个Python代码吗?,python,list,list-comprehension,Python,List,List Comprehension,虽然我知道这段代码是什么,但我不知道它是如何实现的。有人能用最愚蠢的方式解释一下吗 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] 代码的第一个for部分返回以下内容: [num for elem in vec] [0, 0, 0] [num for elem in vec] [0, 0, 0] 它们是每个嵌套列表第一个条目的索引吗 谢谢

虽然我知道这段代码是什么,但我不知道它是如何实现的。有人能用最愚蠢的方式解释一下吗

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]
代码的第一个for部分返回以下内容:

[num for elem in vec]
[0, 0, 0]
[num for elem in vec]
[0, 0, 0]
它们是每个嵌套列表第一个条目的索引吗


谢谢

这只是一个包含两个循环的列表理解。大致等于:

ls = [] 
for elem in vec:
    for num in elem:
        ls.append(num)
代码的第一个for部分返回以下内容:

[num for elem in vec]
[0, 0, 0]
[num for elem in vec]
[0, 0, 0]

只看代码的这一部分是没有意义的。这就像只看我答案代码示例的最后两行,试图理解他们在做什么,而不看其他行。

你在jupyter笔记本上吗?若num之前并没有定义,那个么对于您的情况,我想,[num for elem in vec]必须引发错误