On 26 Apr 2004, Thorsten Kampe <- thorsten@thorstenkampe.de wrote:
Ja, wie kann ich aber zum Beispiel über c-w iterieren ohne explizit 'cdefghijklmnopqrstuvw' hinzuschreiben? Es geht mir schlicht um das Erzeugen des Strings...
So jetzt mein zweiter Versuch zu antworten (die erste E-Mail fiel bekam ich wegen einer hirntoten und sinnfreien SPF Prüfung zurück; I am not amused). Nutze doch eine Generatorfunktion (die Alternativen wurden schon genannt): def chars (min='A', max='z', step=1): if min < max: compare=lambda c1, c2: c1 <= c2 inc=lambda c: chr(ord(c) + step) else: compare=lambda c1, c2: c1 >= c2 inc=lambda c: chr(ord(c) - step) while compare(min, max): yield min min = inc(min) Nun kannst du, um von c bis w zu iterieren schreiben:
for c in chars('c', 'w'): print c, ... c d e f g h i j k l m n o p q r s t u v w
Für die umgekehrte Richtung:
for c in chars('w', 'c'): print c, ... w v u t s r q p o n m l k j i h g f e d c
Die Schrittweite kannst du auch wählen. Es erscheint etwas overkill, aber wenn man es mehrmals nutzen muß, hat die klare Schreibweise schon etwas für sich IMO. Wenn man es nur einmal braucht, ist die map() Variante oder die entsprechende list comprehension wohl das Mittel der Wahl. ps: ist die Verwendung von SPF dauerhaft für diese Liste? Es erscheint mir momentan etwas ähh sch^h^huboptimal. Karl -- `Beware the Jabberwock, my son! The jaws that bite, the claws that catch! Beware the Jubjub bird, and shun The frumious Bandersnatch!' "Lewis Carroll" "Jabberwocky" _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de