[Python] Allineamento stringe [ERA]: [NIUBBO] Python razzista? ; -)
Lorenzo Sutton
lsutton a libero.it
Ven 4 Mar 2011 09:49:39 CET
Ciao,
Estratti da Cesco:
> [...] ho bisogno di allineare a destra un numero posso scrivere:
> print "{0:-5}".format(123)
> Mi restituisce "<spazio><spazio>123"
O anche:
print ("%5d") % 123
> Ma se ho bisogno di fare la stessa cosa con una stringa:
> print "{0:-5}".format("Joe")
> Mi solleva un eccezione? ("Sign not allowed in string format specifier")
>
> Eppure se tento di allineare a sinistra quello stesso testo funziona
> perfettamente:
> print "{0:5}".format("Joe")
> infatti restituisce correttamente:
> "Joe<spazio><spazio>"
> A parte gli scherzi, posso chiedervi come si fa a fare il padding verso destra di una stringa senza scrivere una funzione?
Se ho capito bene vuoi fare questo?
>>> s = 'Joe'
>>> s.ljust (5)
'Joe '
>>> s.rjust (5)
' Joe'
>>> help (str.ljust)
...
ljust(...)
S.ljust(width[, fillchar]) -> string
Return S left-justified in a string of length width. Padding is
done using the specified fill character (default is a space).
> Quindi questo mi sembra un chiaro episodio di discriminazione verso le povere stringhe! :-D
Razzista? Ma no, ;-) anzi Python è il linguaggio più aperto del mondo un
melting pot di di funzionale e object-oriented che convivono
pacificamente senza farsi la guerra.. tipo che cambiano in continuazione..
E in più IMHO ha una delle comunità più aperte, amichevole e d'aiuto
tra tutti i linguaggi :-)
Lorenzo.
Maggiori informazioni sulla lista
Python