此 Python 方法用于将字符串与可迭代对象连接或串联。此函数接受可迭代对象作为参数。在串联可迭代对象中的字符串时,它会使用给定的分隔符。
本节讨论如何使用此函数将列表、字典、集合等中的字符串连接起来,并提供每个示例及其语法:
separator.join(iterable)
Python 使用空格和分隔符连接字符串
这是一个简单的示例,向您展示字符串 join 函数。在这里,我们声明了一个由字符 a、b 和 c 组成的元组。接下来,我们使用空格作为分隔符,并将元组作为函数的参数。
它组合或串联由空格分隔的元组项。在最后一个语句中,我们在 元组之间使用了逗号作为分隔符。
text = ('a', 'b', 'c')
x = ' '.join(text)
print(x)
seq = ','
print(seq.join(text))
a b c
a,b,c
这次我们使用字符串单词元组在 Python 中进行连接。接下来,我们使用 # 作为此方法的 Separator。
text = ('Hi', 'Hello', 'World')
seq = '#'
print(seq.join(text))
print()
Hi#Hello#World
如何在 Python 中连接列表项?
我们使用此 join 函数来组合列表项。在这里,我们使用 \n(换行符)作为列表项之间的分隔符。
我建议您参考 Python 中的 列表文章。
listText = ['Hi', 'Hello', 'World', 'From', 'Me'] seq = '\n' print(seq.join(listText))
Hi
Hello
World
From
Me
这是应用于列表项的另一个示例。在这里,我们使用了不同的分隔符 ‘’, $$$ 和 -> 来连接列表项。
liVal = ['t', 'u', 't', 'o', 'r', 'i','a', 'l'] print(liVal) print() seq = '' print(seq.join(liVal)) print() seq = '$$$' print(seq.join(liVal)) print()
['t', 'u', 't', 'o', 'r', 'i', 'a', 'l']
tutorial
t$$$u$$$t$$$o$$$r$$$i$$$a$$$l
t->u->t->o->r->i->a->l
如何连接集合元素?
在这里,我们在集合项上使用 Python join 函数。
我建议您参考 集合。
setValues = {'Hi', 'Guys', 'How', 'are', 'you'}
print(setValues)
print()
seq = ''
print(seq.join(setValues))
print()
seq = '###'
str1 = seq.join(setValues)
print(str1)
{'you', 'Guys', 'How', 'Hi', 'are'}
youGuysHowHiare
you###Guys###How###Hi###are
如何连接字典项?
在此 方法 示例中,我们在字典项上使用此 join 函数。参考 字典。

从上面的屏幕截图可以看出,它合并了字典键。这是可用的默认选项。但是,您可以使用字典函数 values 来合并字典值。
dictItems = {'name': 'Steve', 'Job': 'Developer', 'Country': 'USA'}
seq = '$$$'
print(seq.join(dictItems.keys()))
print()
seq = '$$$'
print(seq.join(dictItems.values()))
print()
name$$$Job$$$Country
Steve$$$Developer$$$USA
Python 字符串 join 示例
到目前为止,我们只在此方法中使用了可迭代对象(元组、列表、集合和字典)。在这里,我们将 字符串 用作参数。
seq = 'United'
print(seq.join('HELLO'))
print()
print(seq.join(['H','E', 'L', 'L', 'O']))
HUnitedEUnitedLUnitedLUnitedO
HUnitedEUnitedLUnitedLUnitedO
从上面的字符串 join 屏幕截图可以看出,print(‘HELLO’) 和 ([‘H’,’E’, ‘L’, ‘L’, ‘O’]) 都返回相同的结果。这是因为,在内部,(‘HELLO’) 会被转换为字符列表。如果您使用 ‘TUTORIAL’ 作为参数,它会打印 TUnitedUUnitedTUnitedO
字符串 join 的另一个示例是理解隐式转换。在这里,我们使用了不同的分隔符来分隔 tutorialgateway。
name = 'tutorialgateway' print(name) print() seq = ',' print(seq.join(name)) print() lang = 'Computers' print(lang) print() seq = ',' print(seq.join(lang))
tutorialgateway
t,u,t,o,r,i,a,l,g,a,t,e,w,a,y
Computers
C,o,m,p,u,t,e,r,s
Python 连接字符串和整数
到目前为止,我们一直在处理占位文本或句子。在此示例中,我们声明了一个包含字符串和整数的混合列表。接下来,我们使用 $$$ 作为分隔符的此函数来组合列表项。如您所见,它抛出了一个错误:TypeError: sequence item 3: expected str instance, int found
listvalues = ['UK', 'INDIA', 'USA', 1, 'FRANCE'] print(listvalues) print() seq = '$$$' print(seq.join(listvalues))
['UK', 'INDIA', 'USA', 1, 'FRANCE']
Traceback (most recent call last):
File "/Users/suresh/Desktop/simple.py", line 6, in <module>
print.........
TypeError: sequence item 3: expected str instance, int found
这次,在函数内部,我们使用了 For Loop 来迭代列表中的每个项。接下来,我们使用 str 函数将列表项转换为字符串。
listVal = ['Hi', 20, 'Hello', 40, 'World', 140, 'From', 3.0, 'Now'] print(listVal) print() seq = ' ' strAftJn = seq.join(str(item) for item in listVal) print(strAftJn) print() seq = '@' strAftJn = seq.join(str(item) for item in listVal) print(strAftJn) print() seq = ' *+* ' strAftJn = seq.join(str(item) for item in listVal) print(strAftJn)
['Hi', 20, 'Hello', 40, 'World', 140, 'From', 3.0, 'Now']
Hi 20 Hello 40 World 140 From 3.0 Now
Hi@20@Hello@40@World@140@From@3.0@Now
Hi *+* 20 *+* Hello *+* 40 *+* World *+* 140 *+* From *+* 3.0 *+* Now
处理混合列表有一个替代方法。在这里,我们使用了 map 函数和字符串 join 来实现相同的结果。参考 map 函数。
listTxt = ['Hi', 20, 'Hello', 40, 'World', 140, 'From', 3.0, 'Now'] print(listTxt) print() sequence = ' ' strAfterJn = sequence.join(map(str, listTxt)) print(strAfterJn) print() sequence = ', ' strAfterJn = sequence.join(map(str, listTxt)) print(strAfterJn) print() sequence = ' *#* ' strAfterJn = sequence.join(map(str, listTxt)) print(strAfterJn)
['Hi', 20, 'Hello', 40, 'World', 140, 'From', 3.0, 'Now']
Hi 20 Hello 40 World 140 From 3.0 Now
Hi, 20, Hello, 40, World, 140, From, 3.0, Now
Hi *#* 20 *#* Hello *#* 40 *#* World *#* 140 *#* From *#* 3.0 *#* Now
这是使用 join 方法连接字符串和整数的另一种方法。在这里,我们在 for loop 中使用 format function 来格式化列表项。
listVal = [ 20, 40, 140, 'Learn', 3.0]
print(listVal)
print()
seq = ' $ '
afterJn = seq.join('{0}'.format(item) for item in listVal)
print(afterJn )
print()
seq = ' *+* '
afterJn = seq.join('{0}'.format(item) for item in listVal)
print(afterJn )
[20, 40, 140, 'Learn', 3.0]
20 $ 40 $ 140 $ Learn $ 3.0
20 *+* 40 *+* 140 *+* Learn *+* 3.0