2017-01-23 2 views
1

Ich möchte einen Schlüssel zu einem vorhandenen Schlüsselwertpaar in einem Wörterbuch hinzufügen, ist der folgende Code ist der pythonische Weg, einen Schlüssel zu einem Schlüsselwertpaar in einem Wörterbuch hinzuzufügen ?Hinzufügen eines Schlüssels zu einem vorhandenen Schlüsselwertpaar in einem Wörterbuch

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) 

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

Auch, wie kann ich das gleiche tun, aber auf dem gleichen dict und nicht auf einen neuen dict?

print(A)

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

Dank

+0

Haben Sie versucht, 'A = B' hinzuzufügen, nachdem Sie Ihren aktuellen Code ausgeführt haben? – TigerhawkT3

Antwort

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

Dies kann mit einem dict Verständnis in einer Erklärung erfolgen.

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

Auch, wie kann ich das gleiche tun, aber auf dem gleichen dict und nicht auf einen neuen dict?

dict Schlüssel sind unveränderlich, so dass Sie sie nicht per se ändern können. Sie könnten alle neuen Schlüssel hinzufügen und die alten löschen, aber das wäre schlechter als das Erstellen eines neuen Diktats, wie Sie es jetzt tun.

Verwandte Themen