python字符串拼接.join()和拆分.split()详解

1. 概述

在Python中,字符串是一种最常见的数据类型,其由多个字符组成。当我们需要对字符串进行拼接或者拆分时,就需要使用到join()方法和split()方法。

2. join()方法

join()方法是将一个可迭代对象中的元素连接成一个字符串,并返回这个字符串。具体语法如下:

str.join(sequence)

其中,sequence 是一个可迭代对象,比如字符串、列表、元组。

例如,我们要将列表 ['a', 'b', 'c'] 连接成一个字符串,可以使用 join() 方法:

list = ['a', 'b', 'c']

str = '-'.join(list)

print(str) # 输出:a-b-c

上面的例子中,'-' 是连接符,表示连接列表中的各个元素。

2.1 使用 join() 方法将字符串中的每个字符组成一个新的字符串

我们可以使用 join() 方法将字符串中的每个字符组成一个新的字符串。具体方法是:将字符串转换成一个列表,然后再将列表转换成一个新的字符串。

str = 'abc'

new_str = ''.join(list(str))

print(new_str) # 输出:abc

上面的例子中,list(str) 的结果是 ['a', 'b', 'c'],然后使用 ''(空字符串)作为连接符连接列表中的各个元素,结果就是 'abc'。

2.2 使用 join() 方法将多个字符串拼接起来

我们可以使用 join() 方法将多个字符串拼接起来。具体方法是:将字符串保存在一个列表中,然后直接使用 join() 方法将列表中的元素拼接起来。

str_list = ['a', 'b', 'c']

new_str = ''.join(str_list)

print(new_str) # 输出:abc

上面的例子中,将字符串 'a'、'b'、'c' 分别保存在一个列表中,然后使用 ''(空字符串)作为连接符连接列表中的各个元素,结果就是 'abc'。

3. split()方法

split() 方法用于将一个字符串分割成多个子串,并返回这些子串组成的列表。具体语法如下:

str.split(separator, maxsplit)

其中,separator 是分隔符,默认为所有的空字符,包括空格、换行符、制表符等等;maxsplit 是分割次数,该参数可选。

下面是一个简单的示例,将字符串按照空格分割成一个列表:

str = 'hello world test'

list = str.split()

print(list) # 输出:['hello', 'world', 'test']

3.1 分隔符可以是任意字符

split() 方法可以使用任意字符作为分隔符,比如使用逗号 ',':

str = 'a,b,c'

list = str.split(',')

print(list) # 输出:['a', 'b', 'c']

3.2 分割次数可以指定

使用 maxsplit 可以指定分割的次数。如果指定的次数达到了分割的上限,剩余的部分不再进行分割。

str = 'a,b,c,d'

list = str.split(',', maxsplit=2)

print(list) # 输出:['a', 'b', 'c,d']

3.3 split() 方法下标访问

split() 方法返回的是一个列表,可以使用下标访问列表中的元素。

str = 'a,b,c'

list = str.split(',')

print(list[0]) # 输出:a

4. join() 与 split() 实例

下面的例子展示了如何使用 join() 方法和 split() 方法来处理字符串,将字符串中的连续空格替换成单个空格:

str = 'I  am  a   boy'

new_str = ' '.join(str.split())

print(new_str) # 输出:I am a boy

上面的代码中,将字符串中的空白(空格、制表符、换行符等等)用 split() 方法分割成多个子串,然后使用 ' '(一个空格)作为连接符重新拼接起来,从而消除了连续的空格。

5. 拓展应用

5.1 字符串拼接应用

字符串拼接是经常使用到的,比如生成一条 SQL 语句:

sql = 'INSERT INTO users (name, age) VALUES (' +  'Tom' + ', ' + '18);'

print(sql)

使用 join() 方法更加简洁优雅:

sql = 'INSERT INTO users (name, age) VALUES (%s, %s);'

params = ['Tom', '18']

sql = sql % tuple(params)

print(sql) # 输出:INSERT INTO users (name, age) VALUES (Tom, 18);

上面的代码中,使用 %s 作为占位符,然后使用 join() 方法将列表 params 中的元素拼接成一个字符串。

5.2 文件读写应用

在进行文件读写时,经常需要将文件中的内容按行读入,然后进行处理。

with open('file.txt', 'r') as file:

lines = file.readlines()

for line in lines:

line = line.strip().split(',')

print(line)

代码中使用 open() 方法打开文件,将文件内容按行读入到列表 lines 中。然后遍历列表进行处理,使用 strip() 方法去除每行字符串的首尾空白,使用 split() 方法将每行字符串按照逗号 ',' 分割成多个子串。

6. 总结

通过本文的阅读,我们学会了使用 join() 方法和 split() 方法操作字符串。join() 方法可以将一个可迭代对象中的元素连接成一个字符串,而 split() 方法可以将一个字符串分割成多个子串,并返回这些子串组成的列表。这两个方法在 Python 编程中经常用到,希望读者们可以掌握并熟练运用它们。

后端开发标签