die ersten 10 Einträge eines Dictionaries ausgeben

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.
BlackJack

Ein ganz normaler Name wie `spam`, `x`, `foo` usw.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Ein ganz normaler Name, der vom interaktiven Prompt in die Globals eingetragen wird.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

@b und b:-)

Danke, bei der Gelegenheit:

Ich habe mir izip ein bisschen angeguckt - das Beispiel im Wiki.
Nun wenn man das Iteratorobjekt erzeugt und gleich list(_) eingibt, dann sieht man eigentlich die ganze Liste.

Sie ist also doch komplett vorhanden. Muss sie von der Logik her auch, aber wie kann es dann zu einem Performancevorteil gegenüber zip() kommen?

Die Frage bezieht sich eigentlich auf alle Iteratorgeschichten.

Klar was ich meine? Schwierig diese Frage zu forumulieren
:?

LG

rolgal_reloaded
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

okay wärs ne operator würde folgendes gehen: kritik angenommen ;-)

ihr seit aber auch immer sehr genau bei so etwas.
BlackJack

@rolgal_reloaded: Wenn man sofort `list()` darauf anwendet, dann hat man natürlich keinen Vorteil gegenüber `zip()`. Auf der Wikiseite ging's ja aber auch darum zu zeigen, was in dem Iterator "drinsteckt". Und da ist `list()` die einfachste Methode den komplett zu zeigen.
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

rolgal_reloaded hat geschrieben: Ich habe mir izip ein bisschen angeguckt - das Beispiel im Wiki.
Nun wenn man das Iteratorobjekt erzeugt und gleich list(_) eingibt, dann sieht man eigentlich die ganze Liste.

Sie ist also doch komplett vorhanden. Muss sie von der Logik her auch, aber wie kann es dann zu einem Performancevorteil gegenüber zip() kommen?
Die Liste wird in dem Moment erzeugt, in dem du list(_) ausführst.
Sie ist keineswegs vorher vorhanden, es ist nur ein Mechanismus zur Erzeugung der Liste (Generator) vorhanden. Daher die Vorteile der Generatoren.
Willst du normalerweise auf die Liste zugreifen, dann mußt du das Generatorobjekt "benennen":

Code: Alles auswählen

>>> from itertools import izip, islice
>>> generator = izip([1, 2, 3], ['a', 'b', 'c'])
>>> generator
<itertools.izip object at 0x00AC2E18>
>>> list(generator)
[(1, 'a'), (2, 'b'), (3, 'c')]
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

@BlackJack, mkallas

Alles Klar :!: :!: Ist ja ganz logisch. Ich war durch die Darstellung zunächst verwirrt.

LG

rolgal_reloaded
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

rolgal_reloaded hat geschrieben:Alles Klar :!: :!: Ist ja ganz logisch. Ich war durch die Darstellung zunächst verwirrt.
Ich fand auch, es war zuviel auf einmal. Habe daher das Beispiel im Wiki entsprechend geändert. Wenn jemand einen besseren Namen als "generator" weiß, nur zu!
Antworten