接上篇,上篇请看本日推送的网站
使用 .join进行字符串拼接
还有另一种更强大的方法将字符串连接在一起:join方法
最常见的情形是当有一个像是由字符串组成的可迭代列表,您想要把这些字符串列表合成一个字符串,这时候就需要用到.join方法。 与.split类似,.join也是一个字符串的实例方法。 如果您所有字符串都是可迭代的,那么.join调用的对象是谁呢?
这是一个有点棘手的问题。 请记住,当您使用.split时,是在要分割的字符串或字符上调用它。而.join的操作正好相反,所以您要在想要用来连接可迭代字符串的字符串或字符上调用它:
Python代码:
结果:
在这里,我们使用逗号(,)拼接字符串列表的每个元素,并在其上调用.join而不是对字符串列表进行调用。
练习:“使用Join改进可读性”
您如何让输出的文字更具可读性?
答案:“使用Join改进可读性”
可以在输出加入空格:
Python代码:
结果:
除了在连接字符串时添加空格外,不用做任何事情就可以大大提高输出的可读性。 在进行人机交互设计连接字符串,这一点您应该牢记住。
.join方法非常巧妙,因为它只是在您想要加入的可迭代字符串之间插入你的“连接符”,而不是在可迭代的每个字符串的末尾添加连接符。 这意味着如果您传递的是一个大小为1的迭代器,您将看不到连接符:
Python代码:
结果:
练习: “章节理解检查”
使用我们的网络爬虫教程,您已经构建了一个出色的天气预报爬虫代码。 但是,所有的信息都存储在由列表组成的列表中,您需要逐行将这些信息写入到CSV文件中:
Python:
您的输出应该是像这样的单一字符串:
答案: “章节理解检查”
下面是我的解决方案,以由列表组成的列表开始,以单一字符串结尾:
Python代码:
合在一起来尝试
到这里为止,我们对Python中最基本的字符串操作(拆分,连接和拼接)做了基本的介绍,但还有一整套字符串方法可以使您更轻松地处理字符串。
在掌握了这些基本字符串操作后,您可能想了解更多信息。 正好我们还有许多很棒的教程可以帮助您掌握Python的各项功能,从而实现更精巧地的对字符串进行处理:
Python 3中的 f-Strings: 改进的字符串格式化语法
Python 字符串格式最佳实践
Python中的字符串和字符数据
参加测验:使用我们的交互式“Python语言中字符串的拆分,连接和拼接”测验来测试您的知识。 完成后,您将得到评分,用来跟踪您的学习进度
测验:Python语言中字符串的拆分,连接和拼接
在这个测验中,将会测试您在Python语言最基本的字符串操作:字符串的拆分、连接和拼接方面的掌握程度
开始测试:
1) Python语言中,字符串是…
字符矩阵
字符对象
不可改变的
可更改的
答案
字符对象 不可改变的
下一个问题
2)split 方法中, minsplit 参数指定了对输入字符串进行的最少的拆分次数
正确
错误
答案
错误
解析:
split 方法有两个参数: 被拆分的字符串和 maxsplit。 maxsplit 指定了对输入字符串进行的最大拆分次数。
下一个问题
3)下面哪些选项将会对 input_string中的头两个字母‘e’进行拆分?
input_string.split("e", 2)
"e".split(input_string, 2)
input_string.split("e", maxsplit=2)
"e".split(input_string, maxsplit=2)
答案:
input_string.split("e", 2) 和 input_string.split("e", maxsplit=2)
下一个问题
4)写一个Python函数 expand(x), 将输入字符串列表进行连接,并将连接后的字符串重复三遍
例如:
输入:
输出:"string1string2string1string2string1string2"
答案:
def expand(x):
return "".join(x)*3
下一个问题:
5)Python语言中的字符串有一个特性是“不可改变”,这是什么意思?
Python中的字符串不能更改
Python中的字符串可以由字符矩阵表示
字符串不能被数字分割
Python中不能使用连接方法更新字符串
答案
Python中的字符串不能更改
解析:
字符串不可改变是Python字符串的关键属性。 虽然字符串不能用数字分割这句话是对的,但这不是字符串不可改变的意思。 相反,不可改变意味着不能更改字符串。
下一个问题
6)如果想要将字符串列表 input_list变换为一个用逗号连接的单一字符串,下面哪一个应该做为 join方法的输入?
string
input_string
","
str
答案
Input_string
解析:
要拼接的列表始终是 join方法的唯一输入,它会做为调用拼接的字符串
Python代码:
结果:
下一个问题
(7) 下面哪些数学运算符可以用在字符连接上:
*
+
-
/
答案:
* +
解析:
连接是一种增加的操作,因此不能从一个字符串中减去或者除以一个字符串
关于作者:
Kyle是自学成才的开发人员,在PatientsLikeMe担任高级数据工程师,也是Danqex(前Nasdanq)和Encryptid Gaming的共同创始人。
更多关于 Kyle Stratis
你好!我是Kyle,一个Python开发人员,对大型数据集有点痴迷,我们可以从中搜集到什么,以及如何去解决它们。我一直都在努力学习、建设、学习和教授这些知识。
我现在的兴趣包括Python、围棋、人工智能/机器学习、本体学和滑板。
英文原文:https://realpython.com/python-string-split-concatenate-join/译者:Xindong