разъяснение понимания двойного цикла Python 3 - PullRequest
0 голосов
/ 11 сентября 2018

Мне любопытно, что такое двойное понимание цикла.

Понимание :

multilist = [[row*col for col in range(colNum)] for row in range(rowNum)]

Обычный двойной цикл :

 for row in range(rowNum):
    for col in range(colNum):
        multilist[row][col] = row*col

Оба метода дают одинаковый результат.Например, я вставляю 3 в качестве моей строки и 5 в качестве моего столбца, они будут производить

 [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]

Мой вопрос заключается в том, почему цикл for помещается в качестве внешнего цикла в понимании вместо строки для-loop?Я приветствовал бы любое объяснение.Спасибо.

1 Ответ

0 голосов
/ 11 сентября 2018

В таком понимании списка, как ваше, сначала выполняется самый дальний цикл for (rowNum).

multilist = [[row*col for col in range(colNum)] for row in range(rowNum)]

Следовательно, col for-loop по-прежнему является внутренним циклом в понимании.

...