Задать вопрос
Tihanokl
@Tihanokl

После каждого 5-го элемента вставить элемент, который равен сумме этих 5-ти элементов?

a = [1,2,23,4,5,6,7,40,9,10,100,12,13,14,15,700,17,18,19,20]

for i in range(0, len(a), 5):
    print(sum(a[i:i+5]))



a = [1,2,23,4,5,6,7,40,9,10,100,12,13,14,15,700,17,18,19,20]
i = 5
while i < len(a):
    a.insert(i, 33333335)
    i += 6
print (a)


Я нашла сумму и поняла как вставлять, но сумма же после каждых 5-ти будет разная(не везде 35..), каким образом это можно сделать? Чтоб после каждых 5-ти выводило их сумму.
  • Вопрос задан
  • 196 просмотров
Подписаться 1 Простой 1 комментарий
Решение пользователя Andrey Dugin К ответам на вопрос (4)
adugin
@adugin Куратор тега Python
def generate(sequence, group_by=5, func=sum):
    for group in zip(*[iter(sequence)]*group_by):
        yield from group
        yield func(group)
        
print(*generate(a))
Ответ написан