zip Function

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
Gerhardus
User
Beiträge: 42
Registriert: Dienstag 31. Dezember 2013, 01:59

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
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

Hallo Gerhardus,

die Zip-Funktion liefert Dir ein zip-Objekt, über das Du iterieren kannst:

Code: Alles auswählen

for pair in zip([1,2], [3,4]):
    print(pair)
Gerhardus
User
Beiträge: 42
Registriert: Dienstag 31. Dezember 2013, 01:59

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
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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.
Das Leben ist wie ein Tennisball.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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 ;)
Gerhardus
User
Beiträge: 42
Registriert: Dienstag 31. Dezember 2013, 01:59

Danke für eure raschen Antworten und
Prosit Neujahr
Antworten