0

FullTimeクラスのオブジェクトの値を持つキーとして従業員名の辞書を作成しようとしています。これに必要だと思った1行のコードは次のとおりです。

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

ただし、このコードを使用すると辞書が作成されないため、プログラム全体で多くの重要なエラーが発生します。を0に置き換えるFullTime(employee)と、リストは問題なく作成されます。オブジェクトを使用して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 に答える