当前位置:首页>python>Python教程(44)split() 和 join() —— 字符串的“拆”与“拼”

Python教程(44)split() 和 join() —— 字符串的“拆”与“拼”

  • 2026-10-07 12:54:40
Python教程(44)split() 和 join() —— 字符串的“拆”与“拼”

你好,我是雨霖八珞,同名B站UP主。关注合集不迷路。以下内容为个人教学,真诚分享,欢迎交流。

上篇我们学了 lower()、strip() 和 in,它们帮我们清洗用户输入的数据。

今天学两个新方法,它们的功能是拆和拼:

  • split():把字符串拆开,变成列表

  • join():把列表拼起来,变回字符串

如果要输入多个数据呢?

以前我们学习过input()输入数据,
比如:num = input("请输入一个整数:")
如果要输入两个整数呢?我们当时是通过两个input语句,分别放到两个变量中的。
a = input("请输入第一个整数:")
b = input("请输入第二个整数:")
这样输入很麻烦,而且用户输入数据的个数可能是未知的,也就是说,你不知道用户输入的是两个,三个甚至五个。
比如需要用户输入喜欢的水果,可能有的用户会输入两种,有的用户会输入三种
运行两次,用户可能有不同的输入:

那怎么一次读取多个数据?用 split()

split():把字符串拆成列表

看下面这段代码:

运行后,输入数据:苹果 香蕉 橘子

结果如下图所示:

可以看到,第一行(原始的)fruit是一个字符串,而第四行(处理后的)fruit是一个列表。

split() 可以按指定字符把字符串切开,返回一个列表。

所以,处理用户多个输入的通常做法是:

用 input() 一次性接收用户输入的多个数据(得到一个字符串),再用 split() 拆成列表。

拆分成列表后,就可以使用列表的各种函数和方法了。

比如用 len() 统计数量、用 for 循环遍历、用 in 判断是否存在……

join():把列表拼成字符串

split() 能把字符串拆开,那拆开之后怎么拼回去?

用 join()。语法是:指定字符.join(列表)

和split()的用法一样,用指定的分隔符将列表中的每一项连接起来。

运行结果如下:

可以看到,第一行(原始)fruit是列表,通过join()方法,将列表中的哥哥元素连接后得到的fruit是字符串。

split()和join()互为“逆操作”。

  • split()是把一串糖葫芦拆成一个个山楂

  • join()是把一个个山楂串成糖葫芦

join() 可以按指定字符把列表中的每个元素连接起来,返回一个字符串。

来一个具体案例

网络评论区经常需要过滤不文明用语。下面这个程序会把用户留言中的敏感词替换成 ***。

程序代码如下:

运行结果如下:

该案例中综合用到了字符串的lower()方法、split()方法、join()方法,以及列表的遍历和append()方法。
如果想加更多屏蔽词,还可以在blocked列表中继续添加。
可能有的小伙伴要问,那中文呢?也可以屏蔽敏感词吗?

可以,但需要先分词。

中文和英文不一样。

中文句子里的词是连在一起的,不像英文那样用空格分隔。
比如英文的"You are a bad boy",默认就用空格隔开了,可以很方便的用split()分隔成列表,列表中有五个元素。
但中文的"你这个笨蛋",中间没有空格,程序会把这五个字当成一个词。
想要处理中文,需要用到中文分词技术(比如 jieba 库)。把句子切分成有意义的词语后,再判断哪些词是敏感词。
比如,要先把"你这个笨蛋"分成'你', '这个', '笨蛋',这样 "笨蛋" 就能被识别出来了。
还有个问题,如果英文比较长,出现了不同的标点符号,仅仅用空格来分隔是不够的。
比如 You are a bad boy, stupid boy. I hate you.
那怎么处理呢?
下一篇我们接着聊。

本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。

觉得不错的话,伙伴们记得关注、在看、转发和点赞哈!

最新文章

随机文章