我们在使用python与字符串打交道时,可能遇到需要把字符串分隔成几个部分,有时候也需要把列表内的几个字符串,合并在一起。python的split和join方法可以很方便的帮我们实现这些功能。 本文中通过很多例子来演示split和join的用法。因为python中string是不可改变的,但我们可以在不改变原字符串的情况下,调用string的方法来对string进行操作。
split方法的语法
如果你需要把一个string分隔成多个部分,你可以使用split()方法。split的方法作用于一个string,返回一个子string的列表list。语法为:
- string>.split(sep,maxsplit)
在上面的语法中:
split举例
以下面的字符串为例:
- my_string = "老许学编程的网址是www.ilaoxu.cn"
现在调用my_string的split方法,sep和maxsplit都不写。
- my_string.split()
- ['老许学编程的网址是www.ilaoxu.cn']
默认是以空格键为分隔符,所以得到的还是原来的字符串,但是在list里面。
如果在“网址”添加一个空格:
- "老许学编程的网址 是www.ilaoxu.cn ".split()
得到的结果是:
- ['老许学编程的网址', '是www.ilaoxu.cn']
如果是以下字符串,以逗号分隔的水果:
- my_string = ""橘子,李子,栗子,柿子,梨"",注意string中的逗号和指定的分隔符中的逗号的中英文必须一致。
我们现在把分隔符指定为“,”:
- my_string.split(sep=",") 或者 my_string.split(",")
得到的结果都一样,每一个水果都成为列表的一个项,如下:
- ['橘子', '李子', '栗子', '柿子', '梨']
我们现在指定maxsplit这个参数为2:
- mystring.split(",",2)
得到的结果为:
- ['橘子', '李子', '栗子,柿子,梨']
我们来分析一下结果:
join方法的语法
现在你已经了解了如何把一个string分隔成几个子string的列表。现在是时候学习如何使用join把几个子string合并成一个string了。 语法如下:
- <sep>.join(<iterable>)
解释如下:
join举例
在之前的例子里,你把mystring使用逗号分隔成一个子string的列表,我们称之为my_list。现在我们用join方法把my_list再合并成一个string。my_list是水果名称的一个列表。
- >>> my_string = "橘子,李子,栗子,柿子,梨"
- >>> my_list = my_string.split(",")
- >>> my_list
- ['橘子', '李子', '栗子', '柿子', '梨']
注意我们join的时候使用的分隔符要作为字符串传进去,否则会出现语法错误。
- ,.join(my_list)
- >>> ,.join(my_list)
- File "<stdin>", line 1
- ,.join(my_list)
- ^
- SyntaxError: invalid syntax
使用逗号把一个list中的string合并为一个string,应该用“,”而不是,(注意逗号中英文一致)。
- result = ",".join(my_list)
- >>> result
- '橘子,李子,栗子,柿子,梨'
你可以选择其他的字符作为分隔符,现在使用三个下划线来合并成一个新的string
- >>> result = "___".join(my_list)
- >>> result
- '橘子___李子___栗子___柿子___梨'
现在my_list列表['橘子', '李子', '栗子', '柿子', '梨']中的各个string,现在合并成了一个string,以___进行分隔。 现在你了解了如何使用join来合并字符串了。
你学习了: