Python-merkkijonon liittyminen ()

Join () -merkkijonomenetelmä palauttaa merkkijonon yhdistämällä kaikki iterable-elementit erotettuna merkkijonoerottimella.

join()Menetelmä tarjoaa joustavan tavan luoda merkkijonoja iterable esineitä. Se yhdistää iteroitavan osan (kuten luettelo, merkkijono ja sekoitus) merkkijonoerottimella (merkkijono, jolle join()menetelmää kutsutaan) ja palauttaa ketjutetun merkkijonon.

Menetelmän syntaksi join()on:

 string.join (iteroituva)

Liity () -menetelmän parametrit

join()Menetelmä kestää iterable (esineet pystyy palauttamaan sen jäsenten yksi kerrallaan), koska sen parametri.

Joitakin esimerkkejä iterableista ovat:

  • Alkuperäiset tietotyypit - Lista, Tuple, Merkkijono, Sanakirja ja Aseta.
  • Tiedosto-objektien ja objekteja voit määrittää kanssa __iter__()tai __getitem()__menetelmällä.

Return value from join () -menetelmä

join()Menetelmä palauttaa merkkijono on luotu yhdistämällä elementtejä iterable merkkijono erotin.

Jos iterable sisältää arvoja, jotka eivät ole merkkijonoja, se aiheuttaa TypeErrorpoikkeuksen.

Esimerkki 1: Liity () -menetelmän toiminta

 # .join() with lists numList = ('1', '2', '3', '4') separator = ', ' print(separator.join(numList)) # .join() with tuples numTuple = ('1', '2', '3', '4') print(separator.join(numTuple)) s1 = 'abc' s2 = '123' # each element of s2 is separated by s1 # '1'+ 'abc'+ '2'+ 'abc'+ '3' print('s1.join(s2):', s1.join(s2)) # each element of s1 is separated by s2 # 'a'+ '123'+ 'b'+ '123'+ 'b' print('s2.join(s1):', s2.join(s1))

Tuotos

 1, 2, 3, 4 1, 2, 3, 4 s1.liity (s2): 1abc2abc3 s2.liitä (s1): a123b123c

Esimerkki 2: Join () -menetelmä joukkoineen

 # .join() with sets test = ('2', '1', '3') s = ', ' print(s.join(test)) test = ('Python', 'Java', 'Ruby') s = '->->' print(s.join(test))

Tuotos

 2, 3, 1 Python -> -> Ruby -> -> Java

Huomaa: Joukko on järjestämätön kokoelma esineitä, joten saatat saada eri tuloksen (järjestys on satunnainen).

Esimerkki 3: Join () -menetelmä sanakirjoilla

 # .join() with dictionaries test = ('mat': 1, 'that': 2) s = '->' # joins the keys only print(s.join(test)) test = (1: 'mat', 2: 'that') s = ', ' # this gives error since key isn't string print(s.join(test))

Tuotos

 mat-> että Traceback (viimeisin puhelu viimeisin): Tiedosto "…", rivi 12, TypeError: jaksokohta 0: odotettu str-ilmentymä, int löydetty

join()Menetelmä yrittää liittyä avaimia (ei-arvot) sanakirjaa merkkijono erotin.

Huomaa : Jos merkkijonon avain ei ole merkkijono, se aiheuttaa TypeErrorpoikkeuksen.

Mielenkiintoisia artikkeleita...