Как заменить одно из двух значений в словаре Python

Рейтинг: 0Ответов: 1Опубликовано: 22.08.2023
d = {}
class JOB: 
    def post_vacancy(self, company, salary, min_exp):
        self.company, self.salary, self.min_exp = company, salary, min_exp
        d[company] = salary, min_exp
    def update_salary(self, company, new_salary):
        self.company, self.new_salary = company, new_salary
        d[company] = new_salary

Требуется заменить значение salary на new_salary, при этом сохранив значение min_exp

Ответы

▲ 1

d[company] - получаем кортеж (salary, min_exp)

d[company][1] - из этого кортежа получаем значение по индексу 1. В нашем случае это min_exp

   def update_salary(self, company, new_salary):
        self.company, self.new_salary = company, new_salary
        d[company] = new_salary, d[company][1]

Но нужно предусмотреть разные ситуации - когда нет переданной update_salary company, гарантировать формат вида (salary, min_exp)