Łączenie ciągów w języku Python ()

Metoda string () join () zwraca ciąg, łącząc wszystkie elementy iterowalnej, rozdzielone separatorem ciągu.

join()Metoda zapewnia elastyczny sposób tworzenia ciągów z iterable obiektów. Łączy każdy element iterowalnej (takiej jak lista, ciąg i krotka) za pomocą separatora ciągu (ciągu, na którym join()wywoływana jest metoda) i zwraca połączony ciąg.

Składnia join()metody to:

 string.join (iterowalne)

Parametry metody join ()

join()Sposób przyjmuje postać iterowalny (obiekty zdolna do powrotu do jego elementów po jednym na raz) jako parametr.

Oto niektóre przykłady iterowalnych:

  • Rodzime typy danych - lista, krotka, ciąg, słownik i zestaw.
  • Pliki obiektów i obiekty zdefiniowane za pomocą metody __iter__()lub __getitem()__.

Wartość zwracana z metody join ()

join()Sposób powraca łańcuch utworzony przez połączenie elementów danej iterowalny przez separator strun.

Jeśli iterowalna zawiera jakiekolwiek wartości niebędące łańcuchami, zgłasza TypeErrorwyjątek.

Przykład 1: Działanie metody join ()

 # .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))

Wynik

 1, 2, 3, 4 1, 2, 3, 4 s1.join (s2): 1abc2abc3 s2.join (s1): a123b123c

Przykład 2: Metoda join () z zestawami

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

Wynik

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

Uwaga: zestaw to nieuporządkowana kolekcja przedmiotów, więc możesz uzyskać różne wyniki (kolejność jest losowa).

Przykład 3: Metoda join () ze słownikami

 # .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))

Wynik

 mat-> that Traceback (ostatnie wywołanie last): File "…", wiersz 12, w TypeError: sekwencja element 0: oczekiwana instancja str, int znaleziony

join()Metoda stara się dołączyć do kluczy (nie wartości) słownika z separatorem strun.

Uwaga : jeśli klucz łańcucha nie jest łańcuchem, zgłasza TypeErrorwyjątek.

Interesujące artykuły...