在Python中将类的实例存储在字典中

时间:2017-04-17 21:33:01

标签: python dictionary

我试图弄清楚如何将类Job的实例存储在字典中。我希望实现类似{location : "London" , fee:500,fee:1200,location:"London" }之类的东西。我通过将条目保存在类变量中来尝试下面的解决方案,但我只能获取值。我无法定义密钥。

class Job:
    instances = dict()
    rate = 1.04

    def __init__(self, location, salary, description, fee)  :     
        self.location = location
        self.salary  = salary
        self.description  = description
        self.fee  = fee
        self.instances[self.location] = location
        self.instances[self.fee] = fee

    def Charge(self):
        self.fee = int( self.fee + Job.rate)



Job1 = Job("london",23000,"Accounts Assistant",1200)
Job2 = Job("london",25000,"Accounts Assistant",500)

print(Job.instances)

输出:

{1200: 1200, 'london': 'london', 500: 500}

1 个答案:

答案 0 :(得分:0)

def __init__(self, location, salary, description, fee)  :
    self.location = location
    self.fee  = fee
    self.instances[self.location] = location
    self.instances[self.fee] = fee

您要将密钥self.location设置为location,其值相同。这就是重复每个键/值对的原因。使用self.instances["location"] = location将密钥"location"设置为location的值,将fee设置为相同。