Ich habe eine Rota der Mitarbeiter und eine Liste der Mitarbeiterdetails. Wie füge ich den Nachnamen in die Rota ein?So aktualisieren Sie eine Liste von Listen mit Details in einer anderen Liste von Listen gefunden
Die tatsächliche Rota hat mehrere hundert Einträge mit vielen Wiederholungen der gleichen Person (aber alle Mitarbeiter haben einen anderen Namen), und die Detailliste hat etwa 100 Einträge und möglicherweise nicht ein oder zwei der Mitarbeiter auf ihm.
Der unten stehende Code funktioniert, durchläuft jedoch alle Details für jeden Rota-Eintrag. Gibt es einen effizienteren Weg (mit Python 2.7) und kann ich "?" wenn der Name nicht gefunden wird?
rota = [['Paul'], ['Paul'], ['Steve'], ['Steve'], ['Steve'], ['Simon'], ['Bob'], ['Steve']]
details = [['Paul', 'Smith'], ['Simon', 'Says'], ['Steve', 'Brown']]
for eachName in rota:
for eachEmployee in details:
if eachName[0] == eachEmployee[0]:
eachName.append(eachEmployee[1])
print rota
(Sorry, wenn dies verwirrend ist, ist es das einfachste Beispiel könnte ich mir vorstellen!)
Brilliant! Leider habe ich mein Beispiel zu sehr vereinfacht, da es mehr als nur zwei Details für jeden Mitarbeiter gibt, aber es muss einfach genug sein, um die Liste mit den zwei Details zu duplizieren, die ich brauche. Vielen Dank. – Phil