Python中join()方法的主要作用是以特定的字符或字符串作为分隔符(字符串)将若干字符串拼接在一起。其作用的对象可以是单独的一个字符串,也可以是一个字符串元组,字符串列表、字符串集合或字符串字典类型。
一、join方法的语法格式
separator-string.join(iterable-string)
iterable-string:待连接在一起的字符串或字符串序列对象(如元组、集合或列表等);
separator-string:用于连接时使用的字符或字符串。
该函数执行完后将生成一个新字符串。
二、字符串类型示例
>>>
str1 = "翔宇亭IT乐园"
>>>
sep = "*"
>>>
res = sep.join(str1)
>>>
print(res)
翔*宇*亭*I*T*乐*园
>>>
在Python3.8.2中的执行情况:
由上面的例子可以看出,单独一个字符串的话,join使用指定的字符或字符串将每个字符进行分隔连接。
separator-string可以是多个字符的字符串,见下面的例子:
>>>
str1 = "翔宇亭IT乐园"
>>>
sep = "*#"
>>>
res = sep.join(str1)
>>>
print(res)
翔*#宇*#亭*#I*#T*#乐*#园
>>>
在Python 3.8.2中的执行情况:
三、join方法用于连接列表中的元素
>>>
lst = ['Python', 'R', 'Java', 'SPSS']
>>>
sep = "**"
>>>
res = sep.join(lst)
>>>
print(res)
Python**R**Java**SPSS
>>>
四、join方法用于连接元组中的元素
>>>
t = ('翔宇亭', 'IT', '乐园')
>>>
res = ''.join(t)
>>>
print(res)
翔宇亭IT乐园
>>>
上面这个例子使用的分隔字符串是空字符串,这也是允许的。
五、join方法用于连接集合中的元素
>>>
set1 = {"Python", "简单", "易学", "易上手"}
>>>
res = "\t".join(set1)
>>>
print(res)
易学 Python 易上手 简单
>>>
上面这个例子使用了转义字符制表键字符 \t,这也是可以的。但由于集合是无序的,它输出的顺序与定义集合时的顺序不一定相同。
在Python3.8.2中的运行结果如下:
六、join方法用于连接字典中的内容
>>>
dic = {'1' : 'python', '2' : 'R', '3' : 'SPSS'}
>>>
sep = "$"
>>>
res = sep.join(dic)
>>>
print(res)
1$2$3
>>>
从上面的例子可以看出,当join方法使用在字典中时只对键进行操作。由于join方法只对字符串起作用,这时需要注意的是确保字典中的所有键是字符串类型,不能是其它数据类型,否则,将会引发TypeError异常。这种情况也适用于其它可迭代类型的序列,如前面的集合、元组、列表等,需要保证每个值是字符串类型。
当然你可以借助字典对象的values()方法实现对字典中值的连接,下面是具体的例子:
>>>
dic = {'1' : 'python', '2' : 'R', '3' : 'SPSS'}
>>>
sep = "$"
>>>
sep.join(dic.values())
'python$R$SPSS'
>>>
七、join方法只能用于连接字符串
当join方法作用于非字符串类型时将引发TypeError错误。看下面的例子。
>>> t = (12, 13, 14)
>>> res = "-".join(t)
Traceback (most recent call last):
File "", line 1, in
res = "-".join(t)
TypeError: sequence item 0: expected str instance, int found
>>>
即,元组t中存在不是字符串的元素,引发了 TypeError 异常。
在Python3.8.2中的执行情况如下图:
本文(完)
如有疑问,请留言评论,如需转载请注明出处并给出本文链接地址:
出处:翔宇亭IT乐园(http://www.biye5u.com)
链接地址:http://www.biye5u.com/article/python/2020/6485.html