最近对join()和split()函数总是不是特别清楚,抽时间总结
1.join()函数
语法:’sep’.join(seq)
sep:分隔符即用什么符号连接如, % *随意,可以为空
seq:要连接的对象是啥,可以为列表,字符串,元组,字典(字典只将key连接)
函数作用:将seq的列表或字符串或元组或字典连接成一个字符串,
返回值类型为字符串str
实战:
if __name__ == '__main__':
#对列表进行连接
ls = ['day','day','up']
print('用空格将列表元素进行连接结果: %s'%(' '.join(ls))) #用空格进行连接
print('用星号将列表元素进行连接结果: %s'%('*'.join(ls)))
print('join()函数连接后的值的类型: %s'%(type('*'.join(ls))))
#对字符串进行连接
ss = "day day up"
print('用百分号将字符串元素进行连接结果: %s'%('%'.join(ls)))
print('join()函数连接后的值的类型: %s' % (type('%'.join(ls))))
#对元组进行连接
ts = ('day','day','up')
print('用&将元组元素进行连接结果: %s'%('&'.join(ls)))
print('join()函数连接后的值的类型: %s' % (type('&'.join(ls))))
#对字典进行操作
ds = {'day':1,'today':2,'up':3} #字典里key不能重复
print('用#号将字典key进行连接结果: %s'%('#'.join(ls)))
print('join()函数连接后的值的类型: %s' % (type('#'.join(ls))))
结果:
用空格将列表元素进行连接结果: day day up
用星号将列表元素进行连接结果: day*day*up
join()函数连接后的值的类型: <class ‘str’>
用百分号将字符串元素进行连接结果: day%day%up
join()函数连接后的值的类型: <class ‘str’>
用&将元组元素进行连接结果: day&day&up
join()函数连接后的值的类型: <class ‘str’>
用#号将字典key进行连接结果: day#day#up
join()函数连接后的值的类型: <class ‘str’>
2. split()函数
语法:str.split(‘sep’,num)[n]
str: 需要拆分的字符串,注意必须是字符串类型
sep:用什么符号分割,默认为空格;为空时默认将字符串转列表
num:分割的次数,如果为1,则会有2个元素
n: 选择的是第几个元素(类似切片)
函数作用:将字符串按指定的分隔符进行分隔,分隔后返回的是列表(类型为list). 又对列表进行切片
实战:
if __name__ == '__main__':
s = "https://baidu.com.cn"
print(s.split()) #为空,默认将字符串转列表
结果:['https://baidu.com.cn']
print(s.split('.')) #用.分隔
结果:['https://baidu', 'com', 'cn']
print(s.split('.',0)) #分隔出1个元素,也可以理解为字符串转列表
结果:['https://baidu.com.cn']
print(s.split('.',1)) #分隔出2个元素
结果: ['https://baidu', 'com.cn']
print(s.split('.',2)) #分隔出3个元素
结果: ['https://baidu', 'com', 'cn']
print(s.split('.',3)[0]) #有几个.分隔出几个元素且取第1个元素, 返回str
结果: https://baidu
print(type(s.split('.',3)[0]))
结果: <class 'str'>
c = '''hello
world
yeall'''
print(c.split('\n')) #用换行符分隔
结果: ['hello', ' world', ' yeall']
举例:
str = "hello<www.baidu.com>world"
print(str.split('<')[1].split('>')[0]) #取出www.baidu.com
结果: www.baidu.com
print(str.split('<')[1].split('>')[0].split('.')) #将结果按.分隔成列表
结果: [‘www’, ‘baidu’, ‘com’]
3. 两者区别
‘ 符号’.join(): 将列表、字符串、元组、字典
连接成字符串
(按指定符号)
‘str’.split(‘符号’):将字符串
拆分成列表
(按指定符号),可取切片,切片后为str