Объясните работу этого цикла for в python - PullRequest
0 голосов
/ 06 июня 2019

Я решал проблему на Hackerrank с именем «2d hourglass», мне не удалось решить проблему, я искал их форумы и нашел решение, но не могу понять решение

def hourglassSum(arr):
    return(max([sum(arr[i][j:j+3] + [arr[i+1][j+1]] + arr[i+2][j:j+3]) for i in range(4) for j in range(4)]))

а также, пожалуйста, объясните мне, как работает цикл for в конце. Я не привык к такой реализации цикла for. Обычно я подхожу к циклам for следующим образом: -

for i in range(4):
   for j in range(4):

Работать с циклом for я понимаю только тогда, когдареализованный вышеупомянутым способом, я наткнулся на многие закодированные, где циклы for заканчиваются, и я никогда не мог понять их

1 Ответ

0 голосов
/ 06 июня 2019

Это просто синтаксический сахар, называемый списком. По сути, встроенные циклы вложены в циклы, как вы описали выше.

...