Dictionaries in Liste Trennen
Verfasst: Dienstag 9. Februar 2021, 14:01
Hi zusammen,
ist mein erster Post hier, aber das ist normal, wenn man sich gerade erst angemeldet hat. :- )
Ich bin ein absoluter Neuling und arbeite mich gerade durch das Bootcamp von Jannis Seemann. Nichts desto trotz möchte ich mit Hilfe von Python einen direkten Bezug zu meiner Arbeit als Network Consultant schaffen. Dafür habe ich eine Woche Schulungsurlaub bekommen und muss anschließend Ergebnisse liefern. Da ich nun mal wieder auf eine Wand gestoßen bin, dachte ich, das ich mir hier vielleicht noch Hilfe suchen kann.
Szenario: Ich bekomme von einer Management Instanz über eine API Schnittstelle alle Geräte innerhalb eines Netzes, bzw einer Organisation in Form von Dictionaries innerhalb einer Liste angezeigt. Die Felder können hier von Dictionary zu Dictionary unterschiedlich sein. Als Beispiel habe ich es einmal stark verkürzt so dargestellt.
geraete = [
{"Hostname":"SW01", "Typ":"Switch", "Modell":"9300", "IP":"10.255.255.1"},
{"Hostname":"SW02", "Typ":"Switch", "Modell":"9200L", "IP":"10.255.255.2"},
{"Hostname":"SW03", "Typ":"Switch", "Modell":"9200", "IP":"10.255.255.3"},
{"Hostname":"SW04", "Typ":"Switch", "Modell":"9200L", "IP":"10.255.255.4"},
{"Hostname":"AP01", "Typ":"Accesspoint", "Modell":"MR46", "IP":"10.255.254.10"},
{"Hostname":"AP02", "Typ":"Accesspoint", "Modell":"MR46", "IP":"10.255.254.11"},
{"Hostname":"AP03", "Typ":"Accesspoint", "Modell":"MR46", "IP":"10.255.254.12"},
{"Hostname":"AP04", "Typ":"Accesspoint", "Modell":"MR33", "IP":"10.255.254.13"},
{"Hostname":"FW01", "Typ":"Firewall", "Modell":"FTD1120", "IP_IN":"10.255.253.254", "IP_OUT":"1.1.1.2"},
]
Meine Frage wäre es jetzt, ob es möglich wäre sich anhand des Typs mehrere Listen mit Dictionaries erstellen zu lassen. Hier im Prinzip Eine Liste Switch, eine Accesspoint und eine Firewall.
Mein Kläglicher Versuch sah bisher so aus.
switches = []
for x in geraete:
if x['Typ'] == "Switch":
switches.append = [x]
Jetzt nehme ich an, das die Variable 'x' nicht alles enthalten kann, macht ja auch Sinn, aber gibt es eine Möglichkeit das um zusetzten, auch wenn man nicht weiss wie viele Elemente in einem Dictionary sind?
Danke schon mal für die Hilfe.
MfG
Sebastian
ist mein erster Post hier, aber das ist normal, wenn man sich gerade erst angemeldet hat. :- )
Ich bin ein absoluter Neuling und arbeite mich gerade durch das Bootcamp von Jannis Seemann. Nichts desto trotz möchte ich mit Hilfe von Python einen direkten Bezug zu meiner Arbeit als Network Consultant schaffen. Dafür habe ich eine Woche Schulungsurlaub bekommen und muss anschließend Ergebnisse liefern. Da ich nun mal wieder auf eine Wand gestoßen bin, dachte ich, das ich mir hier vielleicht noch Hilfe suchen kann.
Szenario: Ich bekomme von einer Management Instanz über eine API Schnittstelle alle Geräte innerhalb eines Netzes, bzw einer Organisation in Form von Dictionaries innerhalb einer Liste angezeigt. Die Felder können hier von Dictionary zu Dictionary unterschiedlich sein. Als Beispiel habe ich es einmal stark verkürzt so dargestellt.
geraete = [
{"Hostname":"SW01", "Typ":"Switch", "Modell":"9300", "IP":"10.255.255.1"},
{"Hostname":"SW02", "Typ":"Switch", "Modell":"9200L", "IP":"10.255.255.2"},
{"Hostname":"SW03", "Typ":"Switch", "Modell":"9200", "IP":"10.255.255.3"},
{"Hostname":"SW04", "Typ":"Switch", "Modell":"9200L", "IP":"10.255.255.4"},
{"Hostname":"AP01", "Typ":"Accesspoint", "Modell":"MR46", "IP":"10.255.254.10"},
{"Hostname":"AP02", "Typ":"Accesspoint", "Modell":"MR46", "IP":"10.255.254.11"},
{"Hostname":"AP03", "Typ":"Accesspoint", "Modell":"MR46", "IP":"10.255.254.12"},
{"Hostname":"AP04", "Typ":"Accesspoint", "Modell":"MR33", "IP":"10.255.254.13"},
{"Hostname":"FW01", "Typ":"Firewall", "Modell":"FTD1120", "IP_IN":"10.255.253.254", "IP_OUT":"1.1.1.2"},
]
Meine Frage wäre es jetzt, ob es möglich wäre sich anhand des Typs mehrere Listen mit Dictionaries erstellen zu lassen. Hier im Prinzip Eine Liste Switch, eine Accesspoint und eine Firewall.
Mein Kläglicher Versuch sah bisher so aus.
switches = []
for x in geraete:
if x['Typ'] == "Switch":
switches.append = [x]
Jetzt nehme ich an, das die Variable 'x' nicht alles enthalten kann, macht ja auch Sinn, aber gibt es eine Möglichkeit das um zusetzten, auch wenn man nicht weiss wie viele Elemente in einem Dictionary sind?
Danke schon mal für die Hilfe.
MfG
Sebastian