str.ljust(), rjust() și center() în Python

Metode pentru șiruri Python 3.0+

Aliniază un text la stânga, la dreapta sau pe centru, completându-l până la o lățime dată.

Sintaxă
text.ljust(latime, fillchar=' ')
text.rjust(latime, fillchar=' ')
text.center(latime, fillchar=' ')

Ce face str.ljust(), rjust() și center()

Metodele adaugă caracterul de completare (implicit spațiu) până când textul are lățimea cerută. ljust() lasă textul la stânga, rjust() îl mută la dreapta, iar center() îl pune la mijloc. Dacă textul este deja mai lung, rămâne neschimbat (nu este tăiat).

Sunt utile pentru tabele în terminal. Același efect îl obții cu f-string-uri: f"{t:<10}", f"{t:>10}", f"{t:^10}". Există și pentru bytes.

Parametri

Parametru Descriere
latime Lățimea totală dorită.
fillchar Opțional. Un singur caracter folosit pentru completare.

Ce returnează

Un text nou.

Exemple

Exemplul 1: Un mic tabel

produse = [("Pâine", 4.5), ("Cafea", 32.9), ("Lapte", 7)]
print("PRODUS".ljust(10) + "PREȚ".rjust(8))
for nume, pret in produse:
    print(nume.ljust(10, ".") + f"{pret:.2f}".rjust(8))
print(" TOTAL ".center(18, "="))

Rezultat

PRODUS        PREȚ
Pâine.....    4.50
Cafea.....   32.90
Lapte.....    7.00
===== TOTAL ======

Exemplul 2: Text mai lung decât lățimea

print(repr("Constanța".ljust(5)))
print(b"7".rjust(3, b"0"))

Rezultat

'Constanța'
b'007'

Greșeli frecvente

  • Dai mai multe caractere de completare: ljust(10, "-=") dă TypeError. fillchar trebuie să fie exact un caracter.

Comenzi înrudite

  • str.zfill(): Completează un text cu zerouri la stânga până la o lățime dată, păstrând semnul în față.
  • f-string (f"..."): Șiruri de caractere în care pui direct variabile și expresii între acolade.
  • format(): Formatează o singură valoare după un șablon: zecimale, aliniere, separatori, baze.