一分钟了解Python字符串的Split和Join用法

开发 后端
我们在使用python与字符串打交道时,可能遇到需要把字符串分隔成几个部分,有时候也需要把列表内的几个字符串,合并在一起。python的split和join方法可以很方便的帮我们实现这些功能。

我们在使用python与字符串打交道时,可能遇到需要把字符串分隔成几个部分,有时候也需要把列表内的几个字符串,合并在一起。python的split和join方法可以很方便的帮我们实现这些功能。 本文中通过很多例子来演示split和join的用法。因为python中string是不可改变的,但我们可以在不改变原字符串的情况下,调用string的方法来对string进行操作。

[[430372]]

split方法的语法

如果你需要把一个string分隔成多个部分,你可以使用split()方法。split的方法作用于一个string,返回一个子string的列表list。语法为: 

  1. string>.split(sep,maxsplit) 

在上面的语法中:

  • 代表一个有效的python字符串
  • 是你想要挑选的分隔符seperator。它应该指定为一个string。比如“,”是用逗号作为分隔符。
  • 分隔符是可选的。省略的情况下默认使用whitespaces作为分隔符。
  • 代表你想要分隔的最大次数。默认为-1,即有分隔符的地方都分隔。
  • 如果你想把string中以第一个逗号分隔,你可以设置maxsplit=1。你将会得到两部分的string,逗号之前的部分和逗号之后的所有部分。
  • 如果你分隔一次,得到两个string。分隔x次,得到x+1个string。

split举例

以下面的字符串为例: 

  1. my_string = "老许学编程的网址是www.ilaoxu.cn" 

现在调用my_string的split方法,sep和maxsplit都不写。 

  1. my_string.split() 
  2. ['老许学编程的网址是www.ilaoxu.cn'

默认是以空格键为分隔符,所以得到的还是原来的字符串,但是在list里面。

如果在“网址”添加一个空格: 

  1. "老许学编程的网址 是www.ilaoxu.cn ".split() 

得到的结果是: 

  1. ['老许学编程的网址''是www.ilaoxu.cn'

如果是以下字符串,以逗号分隔的水果: 

  1. my_string = ""橘子,李子,栗子,柿子,梨"",注意string中的逗号和指定的分隔符中的逗号的中英文必须一致。 

我们现在把分隔符指定为“,”: 

  1. my_string.split(sep=",")   或者 my_string.split(","

得到的结果都一样,每一个水果都成为列表的一个项,如下: 

  1. ['橘子''李子''栗子''柿子''梨'

我们现在指定maxsplit这个参数为2: 

  1. mystring.split(",",2) 

得到的结果为: 

  1. ['橘子''李子''栗子,柿子,梨'

我们来分析一下结果:

  • 第一个逗号在橘子后面,第一次分隔以后,你得到了两个string的列表:橘子和剩下的'李子', '栗子', '柿子', '梨'
  • 第二个逗号在李子后面,第二次分隔以后,你得到了三个string的列表:橘子,李子和剩下的'栗子,柿子,梨'。
  • 到这个时候,已经达到了maxsplit的限制,不会再进行分隔了。
  • 这也就是为什么我们看到在第二个逗号之后的部分都是在一个string里面(一个单引号里面)。 希望你已经理解了split的方法和参数的作用。

join方法的语法

现在你已经了解了如何把一个string分隔成几个子string的列表。现在是时候学习如何使用join把几个子string合并成一个string了。 语法如下:

  1. <sep>.join(<iterable>) 

解释如下:

  • iterable指python中可迭代的对象list[]或tuple()
  • sep是指你选择的分隔符,把子string合并成一个string。
  • 基本上,join方法使用分隔符把所有的子string合并成一个string。

join举例

在之前的例子里,你把mystring使用逗号分隔成一个子string的列表,我们称之为my_list。现在我们用join方法把my_list再合并成一个string。my_list是水果名称的一个列表。 

  1. >>> my_string = "橘子,李子,栗子,柿子,梨"  
  2. >>> my_list = my_string.split(","
  3. >>> my_list 
  4. ['橘子''李子''栗子''柿子''梨'

注意我们join的时候使用的分隔符要作为字符串传进去,否则会出现语法错误。 

  1. ,.join(my_list) 
  2. >>> ,.join(my_list) 
  3.   File "<stdin>", line 1 
  4.     ,.join(my_list) 
  5.     ^ 
  6. SyntaxError: invalid syntax 

使用逗号把一个list中的string合并为一个string,应该用“,”而不是,(注意逗号中英文一致)。 

  1. result = ",".join(my_list)  

结果为: 

  1. >>> result 
  2. '橘子,李子,栗子,柿子,梨' 

你可以选择其他的字符作为分隔符,现在使用三个下划线来合并成一个新的string

  1. >>> result = "___".join(my_list)  
  2. >>> result 
  3. '橘子___李子___栗子___柿子___梨' 

现在my_list列表['橘子', '李子', '栗子', '柿子', '梨']中的各个string,现在合并成了一个string,以___进行分隔。 现在你了解了如何使用join来合并字符串了。

总结

你学习了: 

  •  <string>.split(sep, maxsplit) 以分隔符分隔某个字符串maxsplit次。
  • <sep.join(<iterable>)用分隔符将list或tuple中的项合并成一个string。 希望你能从本文中得到自己所需要的,nice day!

 

责任编辑:华轩 来源: 今日头条
相关推荐

2017-07-06 08:12:02

索引查询SQL

2022-07-18 06:16:07

单点登录系统

2020-07-09 07:37:06

数据库Redis工具

2020-07-17 07:44:25

云计算边缘计算IT

2016-09-14 15:57:53

架构分布式系统负载均衡

2017-03-30 19:28:26

HBase分布式数据

2018-06-26 05:23:19

线程安全函数代码

2020-05-21 19:46:19

区块链数字货币比特币

2011-02-21 17:48:35

vsFTPd

2018-06-26 10:52:45

2015-10-10 14:11:00

互联网数据挖掘爬虫

2020-01-30 11:26:17

QinQVLAN协议

2022-06-02 08:46:04

网卡网络服务器

2017-12-26 16:24:36

接口代码数据

2017-02-21 13:00:27

LoadAverage负载Load

2018-07-31 16:10:51

Redo Undo数据库数据

2020-10-13 14:55:31

云计算云安全技术

2018-06-28 14:00:01

分布式集群架构

2019-12-24 09:10:43

Ipv6IP址协议

2019-11-24 22:09:50

广域网PPPHDLC
点赞
收藏

51CTO技术栈公众号