2017-04-17 42 views
0

クラスJobのインスタンスを辞書に格納する方法を解明しようとしています。私はこのようなものを達成したいです{location : "London" , fee:500,fee:1200,location:"London" }。私はクラス変数にエントリを保存して、以下の解決策を試しましたが、私は値を取得することしかできません。私はキーを定義することはできません。Pythonのクラスのインスタンスを辞書に格納する

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} 

答えて

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.locationlocationを、設定されています。そのため、各キーと値のペアが繰り返されます。 self.instances["location"] = locationを使用して、"location"のキーをlocationの値に設定し、feeの値に設定します。

+0

このアドバイスをいただきありがとうございます –

関連する問題