Problem mit Zusammenfassung von Dictionaries in Liste
Verfasst: Dienstag 4. Juli 2006, 19:11
hallo Leute,
Hab noch ein Problem mit der Zusammenfassung von Dictionnaries in einer Liste:
Folgende Liste, mit verschiedenen Dictinaries hab ich vorliegen:
Wie kann ich alle Weights per Schleife mit gleicher ID aufsummieren und diese dann in eine Ergebnisliste schreiben.
Diese Konstruktion scheitert, weil die IDs nicht richtig zugeordnet sind:
Bitte um Hilfe, wie ich die FOR Schleife richtig stellen kann. Ich hab irgendwie das Gefühl, dass es sicher einen nicht so umständlichen und vor allem zielführenderen Weg zur Lösung gibt.
Danke,
Johannes
Hab noch ein Problem mit der Zusammenfassung von Dictionnaries in einer Liste:
Folgende Liste, mit verschiedenen Dictinaries hab ich vorliegen:
Code: Alles auswählen
dict_list =
[{'ID': '1', 'Width': ' 3.000', 'Weight': ' 322.378', 'Area': ' 18.523'},
{'ID': '1', 'Width': ' 4.000', 'Weight': ' 352.338', 'Area': ' 18.543'},
{'ID': '2', 'Width': ' 3.000', 'Weight': ' 362.318', 'Area': ' 18.233'},
{'ID': '2', 'Width': ' 2.000', 'Weight': ' 312.328', 'Area': ' 18.133'},
{'ID': '2', 'Width': ' 1.000', 'Weight': ' 322.368', 'Area': ' 18.233'},
{'ID': '2', 'Width': ' 1.000', 'Weight': ' 322.368', 'Area': ' 18.233'},
{'ID': '3', 'Width': ' 1.000', 'Weight': ' 322.368', 'Area': ' 18.233'},
{'ID': '3', 'Width': ' 1.000', 'Weight': ' 322.368', 'Area': ' 18.233'}]
Diese Konstruktion scheitert, weil die IDs nicht richtig zugeordnet sind:
Code: Alles auswählen
weights = []
helpvar=''
for i in range(len(dict_list)):
dict1 = dict_list[i]
if helpvar != dict1.get('ID'):
weights.append(float(dict1.get('Weight')))
print 'Weight: ', dict1.get('Weight'), dict1.get('ID')
print 'Summe:', sum(weights)
print '\n'
weights = [] # Leeren der Gewichtsliste
else:
print 'Weight: ', dict1.get('Weight'), dict1.get('ID')
weights.append(float(dict1.get('Weight')))
helpvar = dict1.get('ID') # Problemursprung?
print 'Summe: ', sum(weights)
Danke,
Johannes