Поскольку вы перебираете friends
, используя перечисление, мы можем предположить, что friends
уже содержит некоторые значения.
Понимание списка заменяет первоначальное значение списка friends
другим списком, который мы получаем как вывод логики понимания c. Обратите внимание, что все это делается в одну строку.
Если мы разбиваем понимание на расширенную форму, мы не сможем перебрать список и изменить список одновременно (мы можем сделать это, но это не рекомендуется, и мы можем получить неправильные значения).
Так что расширенная форма понимания списка выше будет выглядеть так:
temp = []
for x, i in enumerate(friends):
if (x+1) % action:
temp.append(i)
friends = temp