2017-01-23 18 views
1

辞書にある既存のキー値ペアにキーを追加したい場合、 は以下のコードです辞書内のキー値のペアにキーを追加する方法?辞書の既存のキー値ペアにキーを追加する

region = 'us-west-2' 
A = {'m3.large': -1, 'm3.xlarge': -1} 
B = {} 
for key, value in A.items(): 
    B[(key,region)] = A.get((key, region), 0) + value 
print(B) 

出力: {('m3.large', 'us-west-2'): -1, ('m3.xlarge', 'us-west-2'): -1}

はまた、どのように私は同じことを行うが、同じ辞書ではなく、新たな辞書にできますか?

print(A)

出力: {('m3.large', 'us-west-2'): -1, ('m3.xlarge', 'us-west-2'): -1}

おかげ

+0

あなたの現在のコードを実行した後に 'A = B'を追加しようとしましたか? – TigerhawkT3

答えて

2
B = {} 
for key, value in A.items(): 
    B[(key,region)] = A.get((key, region), 0) + value 

これはdictの内包表記と1つのステートメントで行うことができます。

B = {(key,region): A.get((key, region), 0) + value for key, value in A.items()} 

また、私は同じことが、同じ辞書にない新しいdictの上を行うことができますか?

dictキーは変更不可能なので、実際に変更することはできません。すべての新しいキーを追加して古いものを削除することもできますが、これは今行っているように新しい辞書を作成することより劣るでしょう。

関連する問題