Hinzufügen zwei Tupel elementweise

Ich wurde gerade gefragt, ob es war ein besonders pythonic die Zugabe von zwei Tupel elementweise?

Bisher (a und b sind Tupel), habe ich

map(sum, zip(a, b))

Meine erwartete Ausgabe wäre:

(a[0] + b[0], a[1] + b[1], ...)

Und eine mögliche Abwägung wäre zu geben, ein 0,5 Gewichts-und b 0,5 Gewicht, oder so. (Ich bin versucht, einen gewichteten Durchschnitt).

Welche gut funktioniert, aber sagen wollte ich hinzufügen, dass eine Gewichtung, ich bin mir nicht ganz sicher, wie ich das machen würde.

Dank

  • Was ist Ihre erwartete Ausgabe dann?
  • Sie bearbeitet Ihre a und b Tupel-element Weise. Sie können auch tuple(sum(aa, bb) for aa, bb in zip(a, b)) entpacken Sie die beiden Elemente in separaten Variablen. Was wäre deine Gewichtung Formel sein?
  • Und statt nur sum(i) (oder sum(aa, bb) für diese Angelegenheit), die Sie verwenden können, einen anderen Ausdruck zu erstellen, die andere Elemente. Darunter ein Tupel mit den beiden sum und andere Werte: (sum(aa, bb), aa / bb) zum Beispiel.
  • Definieren Sie Ihre eigene Funktion beinhaltet, dass die Gewichtung, anstatt sum
  • Ok, aber gibt es eine Möglichkeit, dies zu tun, ohne mit einer anderen Funktion? (Als Summe sollte grundsätzlich schneller, da drückt es den dazu unten c-code, richtig?)
  • Ich kann mir vorstellen numpy hat und eins hinaus und wahrscheinlich gewichtete Durchschnitte.
  • Mögliche Duplikate von Hinzufügen von Werten Von Tupeln der Gleichen Länge

InformationsquelleAutor James | 2013-05-14
Schreibe einen Kommentar