Seite 1 von 1

Ich hätte da mal eine Frage:

Verfasst: Freitag 8. Januar 2021, 20:59
von ossi047
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.

Re: Ich hätte da mal eine Frage:

Verfasst: Freitag 8. Januar 2021, 21:06
von Sirius3
Was hat sich denn genau geändert? Und was passiert genau?
Und woher kommt die Liste? Wie sieht der Input wirklich aus?

Re: Ich hätte da mal eine Frage:

Verfasst: Freitag 8. Januar 2021, 22:21
von __blackjack__
@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.

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
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.

Re: Ich hätte da mal eine Frage:

Verfasst: Samstag 9. Januar 2021, 10:48
von ossi047
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.

Re: Ich hätte da mal eine Frage:

Verfasst: Samstag 9. Januar 2021, 11:06
von Sirius3
Es geht nicht um die Zahlen, sondern um die Datenstruktur, die so die weitere Verarbeitung komplex macht, daher die Frage, woher kommt die Liste und kann man das nicht ändern?