Методът на връзката join () връща низ чрез обединяване на всички елементи на итерация, разделени с разделител на низове.
В join()
метода осигурява гъвкав начин за създаване на низове от iterable обекти. Той се присъединява към всеки елемент от итерируем (като списък, низ и кортеж) чрез разделител на низове (низът, на който join()
е извикан методът) и връща конкатенирания низ.
Синтаксисът на join()
метода е:
string.join (итерируем)
Параметри за метода join ()
В join()
метод отнема iterable (предмети, които могат да се върне своите членове един по един) като негов параметър.
Някои от примерите за итерации са:
- Родни типове данни - Списък, Tuple, String, Речник и Set.
- Файлови обекти и обекти, които дефинирате с
__iter__()
или__getitem()__
метод.
Върната стойност от метода join ()
В join()
метода връща низ създаден от присъединяването на елементите на iterable от низ сепаратор.
Ако iterable съдържа някакви ненизови стойности, той поражда TypeError
изключение.
Пример 1: Работа с метода 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))
Изход
1, 2, 3, 4 1, 2, 3, 4 s1.join (s2): 1abc2abc3 s2.join (s1): a123b123c
Пример 2: Методът join () със набори
# .join() with sets test = ('2', '1', '3') s = ', ' print(s.join(test)) test = ('Python', 'Java', 'Ruby') s = '->->' print(s.join(test))
Изход
2, 3, 1 Python -> -> Ruby -> -> Java
Забележка: Наборът е неподредена колекция от елементи, така че може да получите различен изход (поръчката е произволна).
Пример 3: Методът join () с речници
# .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))
Изход
mat-> че Traceback (последното последно повикване): Файл "…", ред 12, в TypeError: елемент на последователност 0: очакван екземпляр str, намерен int
В join()
метода се опитва да се присъедини към ключовете (не стойности) от речника с разделителя на низ.
Забележка : Ако ключът на низа не е низ, той поражда TypeError
изключение.