Wie kann ich verhindern das meine Liste Überschrieben wird?
Hallo liebes Community,
ich möchte, in eine Liste Werte hinzufügen, um anschließend mir den durchschnitt auszugeben. Allerdings werden meine Werte immer überschrieben.
averageGamma = []
averageC = []
valuess= {'gamma' : 5, 'C' : 6, 'C' : 7, 'gamma':10}
for key, value in valuess.items():
if key == 'gamma':
averageGamma.append(value)
else:
averageC.append(value)
print(np.mean(averageGamma))
print(np.mean(averageC))
Ausgabe: 10
Ausgabe: 7
danke schonmal!
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Python, Programmieren & Softwareentwicklung
Dein Problem ist, dass du in deinem Dict mehrere Key-Value-Paare mit gleichem Key hast. Das ist in Python nicht erlaubt, jeder Key darf nur einmalig vorkommen.
Wenn du dir also mal "valuess" anzeigen lassen würdest, käme folgendes raus:
{'gamma': 10, 'C': 7}
Um das zu Lösen, könntest du für die einzelnen Keys nicht direkt einen Wert speichern, sondern beispielsweise eine Liste. In dieser Liste speicherst du alle Werte, die eben darauf zutreffen. Mit dieser Liste arbeitest du dann, eventuell sogar direkt
valuess= {
'gamma': [5, 10],
'C': [6,7]
}
print(np.mean(valuess['gamma']))
print(np.mean(valuess['C']))
Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)