Значения, которые нужно изменить, не являются одним и тем же ключом: комбинации значений, в которых будет производиться поиск, указывают, # что этот словарь должен быть изменен. Вот код, который я попробовал:
employees = [
{
"first_name": "Bill",
"last_name": "Lumbergh",
"job_title": "Vice President",
"hire_date": 1985,
"performance_review": "excellent"
}, {
"first_name": "Michael",
"last_name": "Bolton",
"job_title": "Programmer",
"hire_date": 1995,
"performance_review": "poor"
}, {
"first_name": "Peter",
"last_name": "Gibbons",
"job_title": "Programmer",
"hire_date": 1989,
"performance_review": "poor"
}, {
"first_name": "Samir",
"last_name": "Nagheenanajar",
"job_title": "Programmer",
"hire_date": 1974,
"performance_review": "fair"
}, {
"first_name": "Milton",
"last_name": "Waddams",
"job_title": "Collator",
"hire_date": 1974,
"performance_review": "does he even work here?"
}, {
"first_name": "Bob",
"last_name": "Porter",
"job_title": "Consultant",
"hire_date": 1999,
"performance_review": "excellent"
}, {
"first_name": "Bob",
"last_name": "Slydell",
"job_title": "Consultant",
"hire_date": 1999,
"performance_review": "excellent"
}
]
employees[0]['review_finished'] = 'yes'
employees[1]['review_finished'] = 'yes'
employees[2]['review_finished'] = 'yes'
employees[3]['review_finished'] = 'yes'
employees[4]['review_finished'] = 'yes'
employees[5]['review_finished'] = 'yes'
employees[6]['review_finished'] = 'yes'
def update_file(employees):
for dict in employees:
for k, v in dict.items():
if [k]['first_name'] == 'Bill':
dict [v]['performance_review'] = 'poor'
elif [k]['job_title'] == 'Consultant':
dict[v]['performance_review'] = 'poor'
else:
dict[v]['performance_review'] = 'excellent'
update_file(employees)
Это ошибка, которая появляется: Traceback (последний вызов был последним): файл "C: \ Users \ brend \ Documents \ GA.py \ problem1.py", строка 70, в файле update_file (сотрудники)" C: \ Users \ brend \ Documents \ GA.py \ problem1.py ", строка 60, в файле update_file, если [k] ['first_name'] == 'Bill':Ошибка типа: индексы списка должны быть целыми числами или частями, а не str