(Извините, если мой заголовок сбивает с толку. Я не уверен, как описать эту проблему)
У меня есть два списка в следующем формате:
list_a = [[10, 1], [25, 2]] # list sorted base on the first element of each pair
list_b = [3, 14, 5, 26]
Я пытаюсь увидеть в этот момент сумма элементов в list_b
больше, чем элементов в list_a[i][0]
, если так, добавьте list_a[i][1]
к сумме. Подумайте о том, чтобы сыграть в игру и получить очки в list_b
, а также получить бонусные очки, когда вы наберете определенную сумму очков, как указано в list_a
.
Мой предполагаемый результат - это последовательность чисел. Для приведенного выше примера:
# [3, 3+14+1, 3+14+1+5, 3+14+1+5+26+2]
# 3+14+1 because 3+14 is greater than 10
# 3+14+1+5+26+2 because 3+14+1+5+26 is greater than 25
[3, 18, 23, 51]
Моя попытка:
sum_b = 0 # used to track sum of items in list_b
output_list = []
for i in list_a:
for j in list_b:
# go over list b to get current sum
sum_b += j
if sum_b > i[0]: # when I see sum_b > i[0], I add i[1] to sum_b
sum_b += i[1]
output_list.append(sum_b)
# I want to keep going through the list to see when sum_b gets greater than 25 and add 2 to sum_b