我想知道这段代码是如何完成工作的。我不明白在for循环中编写的n和i如何导致[0 1]。
如果dpn=1
和conn=[0 1]
,则以下代码的结果将为eft=[0 1]
eft = numpy.array([dpn * n + i for n in conn for i in range(dpn)])
答案 0 :(得分:0)
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)
基本上,这只是基于其他可迭代对象创建新列表的一种简洁方法。