Обновление значений внутри списка в python
ItemList = [
{'name': 'item', 'item_code': '473', 'price': 0},
{'name': 'item', 'item_code': '510', 'price': 0},
{'name': 'item', 'item_code': '384', 'price': 0},
]
data_1 = '510'
data_2 = 200
def update_item(data_1, data_2):
for a in ItemList:
if a['item_code'] == data_1:
update_price = append(a['price'].data_2)
return True
Я хочу обновить цену с помощью функции update_item. Сбой происходит при update_price = append(a['price'].data_2)
Вы можете присвоить значение словарю, с помощью:
def update_item(data_1, data_2):
for a in ItemList:
if a['item_code'] == data_1:
a['price'] = data_2
return
для решения этой задачи мы также можем использовать метод dict update():
def update_item(data_1, data_2):
for sub in ItemList:
if data_1 in sub.values():
sub.update({'price': data_2})