str.join() în Python

Metode pentru șiruri Python 3.0+

Lipește textele dintr-o listă într-un singur text, cu un separator între ele.

Sintaxă
separator.join(iterabil)

Ce face str.join()

join() se apelează pe separator și primește colecția de texte: ", ".join(lista). Este inversul lui split() și cel mai rapid mod de a construi un text din multe bucăți.

Toate elementele trebuie să fie texte. Numerele trebuie transformate întâi, de exemplu cu map(str, numere). Pentru bytes există b"".join(...), care primește bucăți bytes.

Parametri

Parametru Descriere
iterabil O listă, un tuplu sau un generator de texte.

Ce returnează

Textul rezultat.

Exemple

Exemplul 1: Separatori diferiți

orase = ["Iași", "Cluj", "Brașov"]
print(", ".join(orase))
print(" -> ".join(orase))
print("".join(["a", "b", "c"]))
print("\n".join(orase))

Rezultat

Iași, Cluj, Brașov
Iași -> Cluj -> Brașov
abc
Iași
Cluj
Brașov

Exemplul 2: Numere și bytes

note = [9, 7, 10]
print(" + ".join(map(str, note)), "=", sum(note))
print(b"-".join([b"ab", b"cd"]))

Rezultat

9 + 7 + 10 = 26
b'ab-cd'

Greșeli frecvente

  • Inversezi obiectele: lista.join(", ") dă AttributeError. Separatorul este cel pe care apelezi metoda.
  • Dai numere: ",".join([1, 2]) dă TypeError: sequence item 0: expected str instance, int found.

Comenzi înrudite

  • str.split() și str.rsplit(): Împarte un text într-o listă de bucăți, după un separator.
  • map(): Aplică o funcție fiecărui element dintr-o colecție.
  • f-string (f"..."): Șiruri de caractere în care pui direct variabile și expresii între acolade.