python join() 和split()函数总结

最近对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

猜你喜欢

转载自blog.csdn.net/hou_angela/article/details/84109660