Seite 1 von 1
zip Function
Verfasst: Dienstag 31. Dezember 2013, 15:42
von Gerhardus
Hallo,
lerne Python, wollte zip Function testen, jedoch zeigt sie bei mir
immer nur den Speicherort an. Was mache ich falsch?
>>> zip ([1,2],[3,4])
<zip object at 0x02E5F990>
Gruß und guten Rutsch
Gerhardus
python 3.3.3
Win7
Re: zip Function
Verfasst: Dienstag 31. Dezember 2013, 15:50
von Sirius3
Hallo Gerhardus,
die Zip-Funktion liefert Dir ein zip-Objekt, über das Du iterieren kannst:
Re: zip Function
Verfasst: Dienstag 31. Dezember 2013, 16:08
von Gerhardus
Danke,
das ist mir schon klar, funktioniert nur nach zuweisung in list.
Nur war in vielen tutorials das als beispiel angegeben
jedoch funktioniert nur:
list(zip(x,y))
[(1, 3), (2, 4)]
Danke
Re: zip Function
Verfasst: Dienstag 31. Dezember 2013, 16:14
von EyDu
Das ist eine Änderung zwischen Python 2.x und Python 3.x. In der zweier Reihe hat zip immer eine Liste geliefert ab Version 3 gibt es nun ein zip-Objekt. Der Vorteil des neuen Ansatzes ist, dass nicht mehr die ganze Liste erzeugt wird. Es werden immer nur so viele Elemente berechnet, wie tatsächlich benötigt werden. So kann man auf unendlich langen Sequenzen arbeiten.
Wenn du nur über das Ergebnis iterieren willst, dann gehe einfach, wie von Sirius3 vorgeschlagen, vor. Falls du doch mal alle Elemente benötigen solltest, dann erzeuge dir einfach eine Liste mit dem Aufruf von list.
Re: zip Function
Verfasst: Dienstag 31. Dezember 2013, 16:39
von cofi
Gerhardus hat geschrieben:Nur war in vielen tutorials das als beispiel angegeben
Wie EyDu schon angedeutet hat: Zwischen Python2 und Python3 gibt es diverse auch nicht-kompatible Aenderungen. Insofern tu dir einen Gefallen und achte darauf, dass die Version des Tutorials mit deiner Python-Version zusammenpasst.
Keine Angst zur Aktualitaet: Python 2.7 ist genauso aktuell wie Python3.3 ... und die Python Dokumentation kommt auch immer mit einem Tutorial.
Natuerlich bist du hier trotzdem mit Fragen immer Willkommen

Re: zip Function
Verfasst: Mittwoch 1. Januar 2014, 20:41
von Gerhardus
Danke für eure raschen Antworten und
Prosit Neujahr