1只有一个参数:分隔符

string = "www.python.com.cn"

print(string.split('.'))#"."是切分字符串的分隔符

#输出得到一个列表:['www', 'python', 'com', 'cn']

2.有两个参数 :分割符,分割次数

string = "www.python.com.cn"

print(string.split('.',1))
#第一个参数是分隔符,第二个参数是分割几次
#这里是分割一次,所以最后返回的列表:['www','python.com.cn']

#如果是:
print(string.split('.',2))
#那就是分割两次,最后返回列表['www','python',com.cn']

#总结:分割n次,最后返回的列表中就有n+1个字符串

注意:如果分割次数为-1,表示分割最多次(能分割多少次就分割多少次)和没有加分割次数的效果是一样的

3.切完之后 马上 取出结果列表中的某一项

string = "www.python.com.cn"
print(string.split("."))#['www', 'python', 'com', 'cn']
print(string.split(".")[2])#com

4.分隔符不再是. / 空格等符号,而是字符串

string="aaaabaaabaaabaaabaab"
print(string.split("b"))#将b作为分割符
#输出得到['aaaa', 'aaa', 'aaa', 'aaa', 'aa', '']


string2="I love python,you love python?hahahaha"
print(string2.split("python"))#将python作为分隔符
#输出得到:['I love ', ',you love ', '?hahahaha']


总结:将分隔符去除,分隔符前面的是一个字符串,分隔符后面的是一个字符串,反正最重要的你记住:分隔符一定要去除

做深度学习时候经常会用到这个split函数,比如没有贴标签的图片叫作live_007_img.png,而与之相对应的贴了标签的图片叫作live_007_label.png,假设string1=“live_007_img.png”,我们需要得到与之对应的标签图片名字(字符串)

string1="live_007_img.png"
string2=string1.split("img")[0]+"label.png"
#string1.split("img")得到["live_007_",".png"]
#s所以string1.split("img")[0]就是"live_007_"
print(string2)#live_007_label.png

另外还有一个经常使用的函数叫作:splitext函数

os.path.splitext(“文件路径”) ,表示分离文件名和扩展名(test.txt,后面的txt就是拓展名,返回的是一个元组,不可改变的列表)

比如:

path="D:/oysm/deep-learning/unet.py"
path2=os.path.splitext(path)
print(path2)
#输出得到('D:/oysm/deep-learning/unet', '.py')
path="D:/oysm/deep-learning/unet.tar.gz"

path2=os.path.splitext(path)
print(path2)#('D:/oysm/deep-learning/unet.tar', '.gz')

path3=os.path.splitext(path2[0])
print(path3)#('D:/oysm/deep-learning/unet', '.tar')

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐