Hallo zusammen,
ich habe eine Herausforderung für die Verarbeitung einer Liste und zeitgleich einem Dictionary.
Meine Liste und Dictionary sehen folgendermaßen aus:
mylist = ['MD1_Position_Vlan', 'MD1_Position_Komfort', 'MD1_Position_Sens', 'MD1_Lage_Vlan', 'MD1_Lage_Sens']
mydict = {'MD1_Position': 'Empfänger', 'MD1_Lage': 'Sender'}
Wie kann ich auch aus der mylist und mydict eine neue Liste (bspw. newlist) erzeugen die folgendermaßen aussehen würde:
newlist = ['Empfänger', 'Empfänger', 'Empfänger', 'Sender', 'Sender']
also die newlist weißt jedem 'MD1_Position_...' aus der mylist den aus mydict zugewiesenen Wert zu und gleiches für 'MD1_Lage'.
Wie kann ich dies automatisiert umsetzen?
Besten Dank für Eure Hilfe
Verarbeitung von Daten aus einem Dictionary
z.B. mit rsplit()
Code: Alles auswählen
mylist = ['MD1_Position_Vlan', 'MD1_Position_Komfort', 'MD1_Position_Sens', 'MD1_Lage_Vlan', 'MD1_Lage_Sens']
mydict = {'MD1_Position': 'Empfänger', 'MD1_Lage': 'Sender'}
new_list = [mydict[x.rsplit('_', 1)[0]] for x in mylist]
print(new_list)
Perfekt, vielen Dank!Jankie hat geschrieben: Donnerstag 17. Dezember 2020, 11:59 z.B. mit rsplit()
Code: Alles auswählen
mylist = ['MD1_Position_Vlan', 'MD1_Position_Komfort', 'MD1_Position_Sens', 'MD1_Lage_Vlan', 'MD1_Lage_Sens'] mydict = {'MD1_Position': 'Empfänger', 'MD1_Lage': 'Sender'} new_list = [mydict[x.rsplit('_', 1)[0]] for x in mylist] print(new_list)
`mylist` und `mydict` sind schlechte Namen. Das my trägt nicht zur Verständlichkeit bei und list und dict sind zu generisch; Variablennamen sollten etwas über den Inhalt aussagen.
`x` für ein Element von diesem mylist ist damit auch schlecht.
`x` für ein Element von diesem mylist ist damit auch schlecht.