Как я должен интерпретировать цикл внутри массива? - PullRequest
0 голосов
/ 27 мая 2019

Мне интересно, как этот код выполняет свою работу. Я не понимаю, как n и я, записанные в циклах for, приводят к [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)])

1 Ответ

0 голосов
/ 27 мая 2019

Вызов 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)

Это в основном простой способ создания нового списка на основе некоторых других итераций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...