2013-01-12 66 views
0

我正在嘗試創建一個員工姓名字典作爲具有FullTime類對象值的鍵。的一行代碼,我想我需要爲這是:類別對象的詞典理解

staffClassDict = {employee: FullTime(employee) for employee in staffList} 

然而,當我使用此代碼不會創建字典,導致很多關鍵錯誤的整個程序。如果我用0代替FullTime(employee),這個列表就沒有問題了。有什麼方法可以使用對象來實現詞典理解,還是我應該堅持更傳統的循環?

+4

沒有什麼錯的代碼特定的行。我認爲別的是錯的。 –

+0

它是如何創建的?你可以發佈回溯? – Blender

+2

你可以給一個完整的程序不起作用嗎? –

回答

1

正常工作:

>>> class FullTime(object): 
...  def __init__(self, name): 
...   self.name = name 
...  def __repr__(self): 
...   return "FullTime(%r)" % self.name 
... 
>>> staffList = ["Alice", "Bob", "Eve"] 
>>> staffClassDict = {employee: FullTime(employee) for employee in staffList} 
>>> staffClassDict 
{'Bob': FullTime('Bob'), 'Alice': FullTime('Alice'), 'Eve': FullTime('Eve')}