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 TypeError
wyją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 TypeError
wyjątek.