Kombinieren Sie mehrere Wörterbücher und fügen Sie mehrere Elemente gleichzeitig sicher und zerstörungsfrei in Python hinzu

Was du machen willst

dictA = {'A1': 1, 'A2': 1}
dictB = {'B1': 1, 'B2': 1}
# ---(Wörterbücher kombinieren&Element hinzufügen)---
# => {'key1': 1, 'key2': 1, 'A1': 1, 'A2': 1, 'B1': 1, 'B2': 1}

des Weiteren,

Ich möchte eine effiziente Schreibmethode einführen, um diese zu realisieren.

Schlechtes Schreiben

Dies kann teilweise mit `.update ()` und zusätzlicher Notation im Wörterbuch erreicht werden.

dictA.update(dictB)
dictA['key1'] = 1
dictA['key2'] = 1
new_dict = dictA 
print(new_dict)
# => {'A1': 1, 'A2': 1, 'B1': 1, 'B2': 1, 'key1': 1, 'key2': 1}

Fehler

Das ursprüngliche Diktat ist weg. (Wegen des Hinzufügens von Elementen (destruktive Änderungen) zu dictA)

print(dictA)
# => {'A1': 1, 'A2': 1, 'B1': 1, 'B2': 1, 'key1': 1, 'key2': 1}

Wenn der Schlüssel dupliziert wird, wird der Wert überschrieben. Dies kann zu unbeabsichtigtem Verhalten führen (Fehler verursachen).

dictA = {'key': 'dictA'}
dictB = {'key': 'dictB'}
dictA.update(dictB)
print(dictA)
# => {'key': 'dictB'}

Richtiges Schreiben

Erstellen Sie ein neues Wörterbuch, indem Sie Werte an die Schlüsselwortargumente der Funktion dict übergeben, ohne sich Gedanken über das Zusammenfügen oder Hinzufügen von Elementen machen zu müssen. Eine beliebige Anzahl ist möglich.

new_dict = dict(
    key1=1,
    key2=1,
    **dictA,
    **dictB,
)
print(new_dict)
# => {'key1': 1, 'key2': 1, 'A1': 1, 'A2': 1, 'B1': 1, 'B2': 1}

Zerstörungsfrei

Das ursprüngliche Wörterbuch bleibt unverändert, da es sich um einen zerstörungsfreien Prozess handelt.

new_dict['keyA1'] = 5

print(new_dict['keyA1'])
# => 5
print(dictA['keyA1'])
# => 1

Verhalten bei Doppelarbeit

Wenn Duplikate vorhanden sind, tritt ein TypeError auf, sodass Sie vermeiden können, unbeabsichtigte Werte zu überschreiben. Bei doppelten Schlüsseln im Wörterbuch und allen explizit geschriebenen Schlüsselwortargumenten tritt ein Fehler auf.

dictA = {'key': 'dictA'}
dictB = {'key': 'dictB'}

new_dict = dict(
    key='A',
    **dictA,
    **dictB,
)
# => TypeError: type object got multiple values for keyword argument 'key'

Zusammenfassung

Es wurde gesagt, dass Sie Wörterbücher kombinieren und Elemente sicher und präzise hinzufügen können, wenn Sie sie mit der Diktierfunktion neu erstellen!

Recommended Posts

Kombinieren Sie mehrere Wörterbücher und fügen Sie mehrere Elemente gleichzeitig sicher und zerstörungsfrei in Python hinzu
Löschen Sie mehrere Elemente in der Python-Liste
Verwenden Sie gitlabApi, um Mitglieder zu mehreren Gruppen in gitlab gleichzeitig hinzuzufügen
[Python] Kombinieren Sie alle Elemente in einem Array
Konvertieren Sie mehrere Protodateien gleichzeitig mit Python
Registrieren Sie mehrere selbst erstellte Stile gleichzeitig in Word
[Python] Manipulation von Elementen in der Liste (Array) [Hinzufügen / Löschen]
So tauschen Sie Elemente in einem Array in Python aus und wie kehren Sie ein Array um.
In Python werden die Elemente in der Liste sortiert und als Elemente und Vielfache ausgegeben.
Mehrfacher Regressionsausdruck in Python
Stapel und Warteschlange in Python
Vermeiden Sie mehrere Schleifen in Python
Unittest und CI in Python
Abrufen von Listenelementen in Python
Python> Liste> Anhängen () und Erweitern ()> Anhängen: Liste hinzufügen | Erweitern: Element der Liste hinzufügen | Liste hinzufügen mit + =
Übergeben Sie die ausgewählten Elemente in Tablacus Explorer von JScript an Python und benennen Sie sie alle gleichzeitig um