Liste mit Leerzeichen erzeugen

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
rmanske
User
Beiträge: 26
Registriert: Freitag 30. September 2016, 13:26

Hallo,

ich will eine Liste mit 4 Elementen erzeugen, bei der an der ersten Postion eine Zahl als String stehen soll.
An der zweiten soll dieselbe Zahl stehen, aber mit einem Leerzeichen angehangen werden, dann zwei Leerzeichen angehangen usw.

Dies habe ich auf folgendem Weg gemacht.

Code: Alles auswählen

import sys

cnt = 123
x = [''.join('{0}'.format(cnt)) for i in range(4)]
for n in range(len(x)):
    for y in range(n):
        x[n] += ' '
print(x)
Die Ausgabe ist so
['123','123 ', '123 ', '123 ']
wie ich mir das vorstelle.

Ich würde dies aber gerne eleganter machen. Was gibt es da für Möglichkeiten?

Danke vorab.
Sirius3
User
Beiträge: 18230
Registriert: Sonntag 21. Oktober 2012, 17:20

So:

Code: Alles auswählen

cnt = 123
x = ['{0:<{1}d}'.format(cnt, n+3) for n in range(4)]
Benutzeravatar
pillmuncher
User
Beiträge: 1528
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Sowas vielleicht?

Code: Alles auswählen

In [1]: xs = ['123' + ' ' * i for i in range(4)]

In [2]: xs
Out[2]: ['123', '123 ', '123  ', '123   ']
In specifications, Murphy's Law supersedes Ohm's.
rmanske
User
Beiträge: 26
Registriert: Freitag 30. September 2016, 13:26

Super, danke Euch beiden.
pillmuncher hat geschrieben:Sowas vielleicht?

Code: Alles auswählen

In [1]: xs = ['123' + ' ' * i for i in range(4)]
Das hier verstehe ich sogar. Wäre aber selber nie drauf gekommen.
Sirius3 hat geschrieben:So:

Code: Alles auswählen

cnt = 123
x = ['{0:<{1}d}'.format(cnt, n+3) for n in range(4)]
Den Code verstehe ich überhaupt nicht.
Kannst Du mir eine Seite nennen, wo ich mich hierzu "{0:<" schlau machen kann? Oder einen Begriff mit dem ich googeln kann?
Insbesondere das "<" in dem String sagt mir nichts.

Danke
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

rmanske hat geschrieben:Den Code verstehe ich überhaupt nicht.
Kannst Du mir eine Seite nennen, wo ich mich hierzu "{0:<" schlau machen kann?
Format Specification Mini-Language.
rmanske
User
Beiträge: 26
Registriert: Freitag 30. September 2016, 13:26

DasIch hat geschrieben:Format Specification Mini-Language.
Danke
Antworten