Seite 1 von 1
Sortierte Ausgabe ("BLOCK LISTE")
Verfasst: Dienstag 16. August 2005, 09:55
von Fabian
Zuerst ein "HALLO" an alle hier

.. Ich hab direkt eine Frage!
Code: Alles auswählen
>>> print configs
['CONFIG1.cfg', 'CONFIG2.cfg', 'CONFIG3.cfg', 'CONFIG4.cfg', 'CONFIG5.cfg', 'CONFIG6.cfg', 'CONFIG7.cfg', 'CONFIG8.cfg', 'CONFIG9.cfg']
>>> for i in range(len(configs)):
... print i, configs[i]
...
0 CONFIG1.cfg
1 CONFIG2.cfg
2 CONFIG3.cfg
3 CONFIG4.cfg
4 CONFIG5.cfg
5 CONFIG6.cfg
6 CONFIG7.cfg
7 CONFIG8.cfg
8 CONFIG9.cfg
Das klappt ja schon ohne Probleme. Doch was mir nun ein Rätsel ist, wie geb ich diese Liste folgendermaßen aus?
0 CONFIG1.cfg 1 CONFIG2.cfg 2 CONFIG3.cfg 3 CONFIG4.cfg
4 CONFIG5.cfg 5 CONFIG6.cfg 6 CONFIG7.cfg 7 CONFIG8.cfg
8 CONFIG9.cfg
Ich hab einfach weiß einfach nicht, wie ich immer vier ein eine Reihe ausgebe.
Bitte um hilfe.
Danke!

Verfasst: Dienstag 16. August 2005, 10:12
von CM
Hoi Fabian,
Ist das was Du suchts?
Code: Alles auswählen
import sys
configs = ['CONFIG1.cfg', 'CONFIG2.cfg', 'CONFIG3.cfg', 'CONFIG4.cfg', 'CONFIG5.cfg', 'CONFIG6.cfg', 'CONFIG7.cfg', 'CONFIG8.cfg', 'CONFIG9.cfg']
for i in range(len(configs)):
if (i % 4) or (i == 0):
sys.stdout.write("%d %s " % (i, configs[i]))
else:
sys.stdout.write("\n%d %s " % (i, configs[i]))
print
Das geht womöglich noch einfacher, aber Du solltest erst einmal dies verstehen. Bei Verständnisproblemen, kannst Du ja nochmal nachfragen.
Gruß,
Christian
Verfasst: Dienstag 16. August 2005, 10:25
von Fabian
Genau das ist es! Danke!
Das einzige was ich nicht verstehe, wieso machst du das mit sys.stdout.write - und nicht mit print?
[/code]
Verfasst: Dienstag 16. August 2005, 10:38
von mawe
Hi!
Andere Version:
Code: Alles auswählen
>>> configs = ['CONFIG1.cfg', 'CONFIG2.cfg', 'CONFIG3.cfg', 'CONFIG4.cfg', 'CONFIG5.cfg', 'CONFIG6.cfg', 'CONFIG7.cfg', 'CONFIG8.cfg', 'CONFIG9.cfg'] >>> for i,c in enumerate(configs):
... if i and i%4==0: print
... print "%i %s" % (i,c),
...
0 CONFIG1.cfg 1 CONFIG2.cfg 2 CONFIG3.cfg 3 CONFIG4.cfg
4 CONFIG5.cfg 5 CONFIG6.cfg 6 CONFIG7.cfg 7 CONFIG8.cfg
8 CONFIG9.cfg
Gruß, mawe
Verfasst: Dienstag 16. August 2005, 10:41
von CM
Fabian hat geschrieben:
Das einzige was ich nicht verstehe, wieso machst du das mit sys.stdout.write - und nicht mit print?
Macht der Gewohnheit*. Nimm mawes Version, korrigiere die Formatierung und viel Spaß! Achte aber auf das zusätzliche Komma in mawes Code - dieses unterdrückt den Zeilenumbruch.
Gruß,
Christian
* Und weil sys.stdout ein bißchen mehr bietet, aber das ist hier nicht von Belang.
Verfasst: Dienstag 16. August 2005, 10:49
von Fabian
CM hat geschrieben:Achte aber auf das zusätzliche Komma in mawes Code - dieses unterdrückt den Zeilenumbruch.
Wieder was gelernt, so langsam mag ich Python

.
Danke mawe & cm!
Verfasst: Dienstag 16. August 2005, 11:43
von jens
Der Unterschied zwischen dem print mit Komma und dem sys.stdout.write() ist allerdings, das beim print noch ein Leerzeichen eingefügt wird!