когда вы перебираете свой список a
с помощью for
l oop, который вы присваиваете на каждом шаге итерации переменной i
последовательное значение из a
, поэтому, если вы измените значение переменная i
вы не меняете значение с a
, чтобы изменить значения с a
, вам нужно получить к ним доступ по индексу:
a = ["Pizza", "Cheeseburger", "Water", "Popcorn"]
menu = {"Nachos":6,"Pizza":6,"Cheeseburger":10,"Water":4,"Coke":5}
for i in range(len(a)):
if a[i] not in menu:
a[i] = "Coke"
print(a)
вывод:
['Pizza', 'Cheeseburger', 'Water', 'Coke']
или вы можете использовать понимание списка:
a = [e if e in menu else 'Coke' for e in a]
# ['Pizza', 'Cheeseburger', 'Water', 'Coke']
, чтобы вычислить общую сумму, которую вы можете использовать:
sum(map(menu.get, a))
# 25