我应该如何解释numpy数组中的循环?

2024-06-17 12:26:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道这段代码是如何完成这项工作的。我不明白我和n在for循环中编写的代码是如何导致[01]的

如果dpn=1conn=[0 1],那么下面代码的结果将是eft=[0 1]

eft = numpy.array([dpn * n + i for n in conn for i in range(dpn)])

Tags: 代码innumpyforrangeconnarrayeft
1条回答
网友
1楼 · 发布于 2024-06-17 12:26:29

numpy.array()调用只是将python列表转换为numpy数组。整个逻辑发生在列表中。您可以在这里阅读列表中的理解: https://hackernoon.com/list-comprehension-in-python-8895a785550b

列表理解也可以写成for循环,在这种情况下有两个嵌套循环:

eft = []

for n in conn:
  for i in range(dpn):
    eft.append(dpn * n + i)

这基本上只是一种基于其他iterable创建新列表的简洁方法

相关问题 更多 >