Могу ли я добавить значения из списка в другой список в цикле? - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь добавить значения из списка в другие значения из другого списка.Так что, если у меня было 40 в списке и 8 в другом, я хочу иметь возможность сделать 40 - 8 с точки зрения индекса.Сложность в том, что я пытаюсь сделать это в цикле, каждый раз с другим значением.

listOfDigits = [40, 50, 60, 70, 80, 90, 100, 110, 120]
listOfValues = [8, 5, 7, 1, 4, 9]

Я хочу иметь возможность убрать 8 из 40, затем добавить 5 к 50, затем 7 из 60 ... до тех пор, пока не добавим 9 к 80 ... внутри цикла.Как только я получу последнее значение в «списке значений», я хочу, чтобы оно началось снова, убрав 8 из 100, затем добавьте 5 к 110 ... и т. Д. И повторите для значений.

Надеюсь, это имеет смысл.Я не уверен, как можно решить эту проблему.

1 Ответ

1 голос
/ 28 марта 2019

Это прекрасная возможность объединить zip(), cycle() и enumerate().

cycle()обеспечит выполнение требования «начать заново».
zip() позволяет вам выполнять итерацию двух списков одновременно.
enumerate() используется для принятия решения о добавлении или вычитании значений.

from itertools import cycle

digits = listOfDigits
values = cycle(listOfValues)

for i, (digit, value) in enumerate(zip(digits, values)):
    if i % 2 == 0:
        print(digit - value)
    else:
        print(digit + value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...