Tupel summieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
antilet
User
Beiträge: 8
Registriert: Freitag 12. März 2021, 16:10

Hallo zusammen :)

ich habe eine kurze Frage:
Ich möchte die Werte in einem Tupel aufsummieren.
Hatte auch schon hier im Forum geschaut, da wird map und sum verwendet.
Das scheint auch zu funktionieren, aber wie bekomme ich den Wert aus dem Map-Objekt... ?

Code: Alles auswählen

a = tuple([1, 2, 3])
b = map(sum, a)
print(type(a))
print(type(b))
print(b)

Code: Alles auswählen

<class 'tuple'>
<class 'map'>
<map object at 0x7f8a46495310>
Zuletzt geändert von antilet am Freitag 12. März 2021, 16:48, insgesamt 1-mal geändert.
antilet
User
Beiträge: 8
Registriert: Freitag 12. März 2021, 16:10

Ich bin ein Schaf, :roll:
am einfachsten geht es mit

Code: Alles auswählen

print(sum(a))
Trotzdem würde mich interessieren, wie man den Wert auch aus der map-Funktion herausbekommt.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mit map geht es hier nicht. Das wendet eine Funktion ja punktweise an, also auf jedes Element einzeln. Was du suchst waere wenn dann reduce. Und das, als auch map, ist seit Python 3 ein Generator. Den musst du erstmal konsumieren, zB mit list() oder for

Code: Alles auswählen

o = map(lambda x: print(x), range(10))
list(o)
Sirius3
User
Beiträge: 17826
Registriert: Sonntag 21. Oktober 2012, 17:20

@__deets__: was fängst du mit einer Liste an, die nur None-Werte enthält?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Seufz. Das war keine Cheerleader-Performance zur sinnlosen generierung von Wegwerflisten. Sondern eine kompakte Illustration, was aus dem Kontext ziemlich klar wird. Dir doch eigentlich auch, oder?
Sirius3
User
Beiträge: 17826
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum dann kein Beispiel, bei dem die Liste auch gebraucht wird?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Warum schreibst du keines selbst? In der Zeit, in der du mir hier mein episches Versagen vorwirfst, aus dem der Untergang der Programmierkultur in kürzester Zeit zu erwarten ist, wäre das doch problemlos möglich gewesen.
Sirius3
User
Beiträge: 17826
Registriert: Sonntag 21. Oktober 2012, 17:20

Zum Beispiel die Quadratesumme:

Code: Alles auswählen

sum(map(lambda x: x**2, [4, 7, 2]))
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Und was machst du mit einem Ergebnis, das gar nicht verwendet wird? Und wie exakt grenzt du das ab von einer Liste mit Nones, die nicht verwendet wird? Oder kann es sein, dass auch du der Meinung bist, man muss nicht jede Illustration eines Konzepts in ein in sich schluessiges und vollstaendiges Beispiel packen?
Antworten