Ich würde gerne ein zweidimensionales Dictionary mit Daten aus einem dreidimensionalen Dictionary erstellen.
Beispielhaft mal folgender Code:
Code: Alles auswählen
VEHICLES = {"car": {
"VW Polo": {"power": 75,
"color": "blue"},
"BMW 5 series": {"power": 400,
"color": "black"}},
"truck": {
"MAN TGL": {"power": 200,
"color": "red"},
"Mercedes-Benz Actros": {"power": 500,
"color": "white"}
}}
mileage_list = {}
def create_mileage_list():
mileage_list.clear()
for vehicle_type in VEHICLES.keys():
for vehicle_model in VEHICLES[vehicle_type]:
mileage_list[vehicle_type] = {vehicle_model: "unknown"} # ?
create_mileage_list()
Code: Alles auswählen
{'car': {'BMW 5 series': 'unknown'}, 'truck': {'Mercedes-Benz Actros': 'unknown'}}
An der Codestelle mit dem Fragezeichen im Kommentar vermute ich das Problem. Ich vermute, dass das innere Dictionary überschrieben wird anstatt die Key/Value-Kombination zum bestehenden inneren Dictionary hinzuzufügen. Eine Lösung ist mir bis dato noch nicht eingefallen.
Gruß
Atalanttore