Unten habe ich ein einfaches Programm. Ich beabsichtige, die beiden Wörterbücher zusammenzuführen. Aber ich möchte keine der Werte in Bezug auf Offset, Limit, Ergebnisse kopieren. Nur die Taste mit der Bezeichnung "Items" und die Liste darunter, die mehr Wörterbücher enthält.Dict enthält eine Liste mit mehr dicts - Aktualisierung
Mein Problem ist, dass ich die Liste unter Elemente ziehen und in einer Variablen speichern kann, die die anderen Schlüssel entfernt, aber wenn ich gehe, um es der anderen Liste hinzuzufügen, anstatt zu aktualisieren, ersetzt es die Werte.
Zum Beispiel habe ich zwei Wörterbücher:
my_dict: {'status': 'ok', 'result': {'items': [{'Test': 1000}, {'Test2': 2000}]}}
my_dict2: {'status': 'ok', 'result': {'items': [{'Test3': 1000}, {'Test4': 2000}]}}
Mein Ergebnis erwarte ich ist:
my_dict2: {'status': 'ok', 'result': {'items': [{'Test3': 1000}, {'Test4': 2000}, {'Test': 1000}, {'Test2': 2000}]}}
aber ich bekomme:
my_dict2: {'status': 'ok', 'result': {'items': [{'Test': 1000}, {'Test2': 2000}]}}
Code:
my_dict = {
"status": "ok",
"result": {
"offset": 0,
"limit": 1000,
"total": 839,
"items": [
{
}
]
}
}
my_dict2 = my_dict
my_dict.update({'result': {'items': [{'Test': 1000},{'Test2': 2000}]}})
my_dict_values = my_dict['result']['items']
my_dict2.update({'result': {'items': [{'Test3': 1000},{'Test4': 2000}]}})
print "Before: %s" % (my_dict2)
my_dict2.update({'result': {'items': my_dict_values}})
print "After: %s" % (my_dict2)
Sie aktualisieren 'my_dict2', wenn Sie wirklich nur aktualisieren möchten' my_dict2 [ 'Artikel'] '. – Paul
@Patrick Haugh Danke für die Bearbeitung meines Beitrags. Ich habe vergessen, den Code-Schnipsel für die Spitze hinzuzufügen ;-) –
@Paul Ja, es scheint genau das zu sein, was ich tat, die akzeptierende Antwort gibt mir die richtige Funktion zu verwenden. Danke Kumpel. :-) –