Seite 1 von 1

Einträge 0,1,2,...,n in Liste [ ] schreiben

Verfasst: Samstag 1. Dezember 2007, 18:41
von Arnold
Hallo,

ich habe eine kleine Frage zur Programmierung in Python, die hier sicher mit Leichtigkeit beantwortet werden kann:

Ich benötige für eine Eingabemaske einer Software einen Ausdruck mit nachfolgendem Format:

tags = {'ocean_west': [0,1,2,3,4,5]}

Die [0,1,2,3,4,5] möchte ich aber gerne geschrieben haben wie "von 0 bis 5", also etwa so: [0 bis 5], da ich hier bis zu tausend Werte eintragen muss, und ich diese nicht alle einzeln mit Komma getrennt in die Liste schreiben möchte.
Gibt es hierfür einen einfachen Audruck (für "von 0 bis 5", getrennt mit Kommas), wenn nein, wie kann ein solches Feld während der Laufzeit mit einer for-Schleife erzeugt werden?

Besten Dank im Voraus,
Arnold

Verfasst: Samstag 1. Dezember 2007, 18:53
von Zap
Weiß nicht 100%ig ob ich deine Frage richtig verstehe, aber die Funktion range macht dir eine solche Sequenz fertig

Code: Alles auswählen

In [1]: tags = {'ocean_west': range(6) }

In [2]: tags
Out[2]: {'ocean_west': [0, 1, 2, 3, 4, 5]}

Verfasst: Samstag 1. Dezember 2007, 19:07
von Arnold
Danke, der Eintrag in Zeile 2 funktioniert. Ist genau das, was ich benötige.
Sind die anderen beiden Einträge für eine Ausgabe, oder was ist das?

Verfasst: Samstag 1. Dezember 2007, 22:27
von Leonidas
Das ist die Ein- und Ausgabe des alternativen Python-"Interpreters" IPython (eigentlich ist es ein Wrapper um Python, der ein paar Features mehr hat als der normale Interpreter).

Verfasst: Samstag 1. Dezember 2007, 23:52
von lunar
Ja, da kommen nur so ein paar unwichtige Dinge wie History und Completion dazu... total für die Katz', nur Weicheier nutzen das.

Verfasst: Sonntag 2. Dezember 2007, 00:17
von Leonidas
lunar hat geschrieben:Ja, da kommen nur so ein paar unwichtige Dinge wie History und Completion dazu... total für die Katz', nur Weicheier nutzen das.
Kann man aber auch durchaus mit dem normalen Interpreter haben, also so ist das nicht ;)

Inzwischen hat sogar mein netcat `readline`-Funktionalität nachgerüstet :)

Verfasst: Sonntag 2. Dezember 2007, 00:26
von lunar
Leonidas hat geschrieben:
lunar hat geschrieben:Ja, da kommen nur so ein paar unwichtige Dinge wie History und Completion dazu... total für die Katz', nur Weicheier nutzen das.
Kann man aber auch durchaus mit dem normalen Interpreter haben, also so ist das nicht ;)
Echt? Wie denn?

Anyways, alles in allem ist ipython doch ein deutlicher Schritt nach vorne... ginge es nach mir, würde ipython schon längst mit Python kommen (evtl auch nur in einer abgespeckten Version, Schnittstellen für gnuplot brauche ich nicht)

Verfasst: Sonntag 2. Dezember 2007, 01:07
von Leonidas
lunar hat geschrieben:
Leonidas hat geschrieben:
lunar hat geschrieben:Ja, da kommen nur so ein paar unwichtige Dinge wie History und Completion dazu... total für die Katz', nur Weicheier nutzen das.
Kann man aber auch durchaus mit dem normalen Interpreter haben, also so ist das nicht ;)
Echt? Wie denn?
Mit rlcompleter. Warscheonlcih braucht es da ein wenig extra-Magie, aber möglich ist es schon.

Warum IPython nicht von Haus aus dabei ist liegt vermutlich daran, dass `readline` unter Windows nur mit `ctypes` lief, was damals (TM) nicht in der Stdlib war. Ist nun besser, aber wenn man IPython mitliefern will, dann holt man sich doch einen ziemlich großen Haufen Code mit rein - auch wenn man IPython in etwas reduzierter Form reinnimmt.

Naja, also ich hatte nie ein Problem IPython nachzuinstallieren, bei den meisten Distributionen gibt es sowieso schon ein entsprechendes Paket.

Verfasst: Montag 3. Dezember 2007, 12:26
von Rebecca
Fuer Tab-Vervollstaendigung:

Code: Alles auswählen

try:
    import readline
except ImportError:
    print "Module readline not available."
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")
ins Homeverzeichnis legen und $PYTHONSTARTUP drauf zeigen lassen -- voila!

History duerfte auch nicht viel schwieriger sein...

Verfasst: Montag 3. Dezember 2007, 16:35
von Mad-Marty
Rebecca hat geschrieben:Fuer Tab-Vervollstaendigung:

Code: Alles auswählen

try:
    import readline
except ImportError:
    print "Module readline not available."
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")
ins Homeverzeichnis legen und $PYTHONSTARTUP drauf zeigen lassen -- voila!

History duerfte auch nicht viel schwieriger sein...
oder gleich ne richtige IDE wie wing IDE ;)
afaik hat auch IDLE history. Pythonwin hat auch beides.