【问题标题】:Can someone please explain this Python code? [duplicate]有人可以解释一下这个 Python 代码吗? [复制]
【发布时间】:2019-04-21 11:23:23
【问题描述】:

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

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]

第一部分代码返回如下:

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

它们是每个嵌套列表第一个条目的索引吗?

谢谢!

【问题讨论】:

  • 你在使用 jupyter notebook 吗?如果num 之前没有定义,我想你的情况,[num for elem in vec] 必须引发错误

标签: python list list-comprehension


【解决方案1】:

这只是一个带有两个循环的列表推导。大致是这样的:

ls = [] 
for elem in vec:
    for num in elem:
        ls.append(num)

 

第一部分代码返回如下:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多