1

dict で dict を使用して、20 項目に関連する 4 つのパラメーターをカウントしています。

resi = {'a': {'x': 0, 'y': 0, 'z': 0}, 'b': {'x': 0, 'y': 0, 'z': 0}, ...}

関数 'count' は、20 個の項目で発生するパラメーター x、y、z の頻度をカウントします。

re: main dict のキーresibas: ネストされた dict のキー

def count(re, bas, aa = resi) :
    t = aa[re] 
    t[bas] += 1
    print aa

関数が呼び出されると、countすべてのメイン キーのパラメーターを更新します。私も試しました

aa[re][0][bas] += 1

これはキーエラーを示しています。main dict の特定のキーを更新するにはどうすればよいですか?

4

2 に答える 2

2

そもそもdictの作成に失敗しました。

resi = dict((k, {'x':0, ...}) for k in ('a', 'b', ...))
于 2013-01-07T11:09:31.740 に答える
0

サブディクト用に一意のディクショナリを作成する必要があります。同じsecond_dict値を再利用することはできません。これにより、ネストされた構造に対して個別のディクショナリが作成されると予想されます。

使用する:

resi = {k: dict(second_dict) for k in res}

代わりは; 各キーdict(second_dict)の新しいコピーを作成します。second_dict

于 2013-01-07T11:29:35.750 に答える