2

私はこれを持っています:

set_of_strings = {'abc', 'def', 'xyz'}

そして、私はこれを作成したい:

dict_of_dicts = {
     'abc': {'pr': 0, 'wt': 0},
     'def' : {'pr': 0, 'wt': 0},
     'xyz' : {'pr': 0, 'wt': 0} 
}

Pythonicの方法は何ですか?(パイソン2.7)

4

3 に答える 3

2

他の回答が示すように、これを達成するにはいくつかの方法がありますが、IMO で最も (唯一の?) Pythonic な方法は、dict 内包表記を使用することです。

keys = ...
{ k: { 'pr': 0, 'wt': 0 } for k in keys }

値が不変である場合は、dict.fromkeys適切であり、おそらく辞書内包表記よりも高速です。

于 2013-09-07T06:22:10.513 に答える