0

我正在尝试创建一个员工姓名字典作为具有 FullTime 类对象值的键。我认为我需要的一行代码是:

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

但是,当我使用此代码时,并没有创建字典,导致整个程序出现很多关键错误。如果我将 替换为FullTime(employee)0,则列表将顺利完成。有什么方法可以使用对象实现 dict 理解,还是我应该坚持使用更传统的 for 循环?

4

1 回答 1

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')}
于 2013-01-12T17:56:54.373 回答