Hallo Ihr Wissenden,
ich habe da das letzte Mal ein Lösung von euch bekommen für eine Summenbildung nach den Dim.
menge = [3.25, "DN20", 0.78, "DN20", 1.0, "DN25", 5.5, "DN40"]
result = sum(v for v, k in zip(*[iter(menge)] * 2) if k == "DN20")
Das funktioniert auch bestens. Wie das funktioniert bin ich leider noch nicht drauf gekommen.
Leider musste ich im Programm etwas ändern.
Jetzt sieht meine Liste aber so aus:
menge = ["3.25", "DN20", "0.78", "DN20", "1.0", "DN25", "5.5", "DN40"]
Jetzt funktioniert dann die Lösung wie oben nicht mehr.
Könntet Ihr mir das bitte auf die neue Situation ändern.
Danke im Voraus.
Ich hätte da mal eine Frage:
- __blackjack__
- User
- Beiträge: 14053
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@ossi047: Die Frage ist jetzt aber eher trivial zu beantworten wenn man sich anschaut was sich an den Daten geändert hat. Man kann Zeichenketten halt nicht addieren, beziehungsweise nicht mit einem vergleichbaren, in diesem Fall sinnvollen Ergebnis.
Wobei sich aber tatsächlich die Frage stellt wo so eine Liste her kommt wo die Elemente nicht die gleiche Bedeutung haben, beziehungsweise immer nur jedes zweite Element die gleiche Bedeutung hat.
Code: Alles auswählen
In [222]: menge
Out[222]: ['3.25', 'DN20', '0.78', 'DN20', '1.0', 'DN25', '5.5', 'DN40']
In [223]: sum(float(value) for value, key in more_itertools.chunked(menge, 2) if key == "DN20")
Out[223]: 4.03
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Danke für eure Hilfe auf das wäre ich sowieso nie draufgekommen.
Die Zahlen ergeben sich aus technischen Berechnungen. Warum und
wieso sie so sind wie sie sind kann ich hier nicht erklären, dass würde
zu lange dauern. Auf jeden fall seit ihr super und ich hab wieder was
dazugelern.
Die Zahlen ergeben sich aus technischen Berechnungen. Warum und
wieso sie so sind wie sie sind kann ich hier nicht erklären, dass würde
zu lange dauern. Auf jeden fall seit ihr super und ich hab wieder was
dazugelern.