Multiplizieren eines Tupels mit einem Skalar
Ich habe den folgenden code:
print img.size
print 10 * img.size
druckt
(70, 70)
(70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70)
während ich mag würde, es zu drucken
(700, 700)
Irgendeinen Weg gibt, dies zu tun, ohne zu schreiben,
print (10 * img.size[0], 10 * img.size[1])
PS: img.die Größe ist ein PIL-image. Keine Ahnung, ob das Dingen alles in diesem Fall.
InformationsquelleAutor der Frage devoured elysium | 2009-11-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte ein schöner Weg, aber diese Arbeit sollte
InformationsquelleAutor der Antwort Hannes Ovrén
InformationsquelleAutor der Antwort truppo
Den pythonic Weg wäre, mit Hilfe einer list comprehension:
Andere Möglichkeit könnte sein:
InformationsquelleAutor der Antwort ChristopheD
Lösung:
Erklärung:
arrays
direkten Skalare Multiplikation möglich. Daher dertuple
genanntset1
hier wird in einearray
. Ich nehme an, Sie wollen zu halten mit dertuple
daher konvertieren wir diearray
zurück zu einemtuple
.Diese Lösung ist zu vermeiden, die explizite und ausführliche
for
Schleife. Ich weiß nicht, ob es schneller ist oder ob die genau die gleiche Sache passiert in beiden Fällen.InformationsquelleAutor der Antwort Mukul Atri
Wahrscheinlich gibt es eine einfachere Möglichkeit als diese, aber
Wird machen fast was Sie wollen, obwohl es genau so eine Liste eher als ein Tupel. Wickeln Sie die
map
Aufruf innerhalbtuple(map...)
wenn Sie wollen, es zu drucken als ein Tupel (Klammern statt eckige Klammern).InformationsquelleAutor der Antwort sparklewhiskers
Wenn Sie dieses problem haben, häufiger und mit größeren Tupeln oder Listen, dann möchten Sie vielleicht zu verwenden, die numpy Bibliothek, die Ihnen erlaubt, alle Arten von mathematischen Operationen auf arrays. Jedoch, in dieser einfachen situation, das wäre kompletter overkill.
InformationsquelleAutor der Antwort nikow
Können Sie versuchen, so etwas wie dieses:
Wird es geben Sie eine neue Liste mit allen Elementen haben Sie in dem Tupel multipliziert mit 10
InformationsquelleAutor der Antwort Serge
Im Einklang mit den vorherigen Antworten, aber mithilfe von numpy:
InformationsquelleAutor der Antwort user2750362
hinzufügen nichts, aber Abwechslung..
InformationsquelleAutor der Antwort elbeardmorez
Sie versuchen, die Funktion anwenden auf Tupel als ganzes.
Sie müssen es auch anwenden auf die einzelnen Elemente und bringen Sie eine neue Tupel.
Denken Sie daran, Sie können nicht ändern, eine Tupel.
InformationsquelleAutor der Antwort user2766147
Simplish Sache, wenn Sie schreiben, eine Reihe von code, aber nicht wollen, ein komplizierter Vektor-Bibliothek...
Den "V" - Instanzen sonst Verhalten sich genauso wie Tupel. Dies erfordert, dass die "V" - Instanzen sind alle mit der gleichen Anzahl von Elementen. Man könnte hinzufügen, zum Beispiel, __new__
durchzusetzen, dass alle Instanzen sind 2d-Vektoren....
InformationsquelleAutor der Antwort Marvin