语录网随笔 python入门之字符串处理名字拼接(python的字符串拼接技巧)

python入门之字符串处理名字拼接(python的字符串拼接技巧)

有网友问python入门之字符串处理名字拼接,下面小编就以3270字给大家详细介绍python的字符串拼接技巧,预计阅读需要9分钟!

目录

字符串拆分

无参数字符串拆分

指定分隔符

使用 Maxsplit 对拆分进行限定

字符串的连接及拼接

使用运算符 + 进行字符串连接

使用 .Join() 进行字符串连接

合在一起来尝试

生命中总有那么几件事是命中注定的:死亡,税单,还有需要处理字符串的程序员,字符串可以有很多种形式,可以是非结构化文本,可以是用户名,可以是产品描述,可以是数据库列表名,也可以是其他任何我们用语言描述内容的东西。

由于字符串数据几乎无处不在,所以知道如何使用所使用的工具处理字符串是非常重要的。幸运的是,与其他语言甚至更旧版本的Python相比,Python语言在字符串上操作非常简单。

您将从本文中学习一些最基本的字符串操作:拆分、连接和拼接。您不仅将学习如何使用这些工具,还将深入了解它们是如何工作的。

字符串拆分

在Python中,字符串被表示为一个str对象,并且是不可变的:这意味着内存中的对象不能直接更改。记住这两个特性将有助于你学习(并记住)如何使用。分裂()。

你猜到了字符串的这两个特性是如何与Python语言中的拆分函数联系在一起的吗?如果你猜到了。拆分()是一个实例方法,因为字符串是一种特殊类型,那么你是正确的!在其他语言(如Perl)中,原始字符串被用作独立的。拆分()函数的输入,而不是使用方法来调用字符串本身。

注意:如何调用字符串方法

这里所示的。分裂()的拼写是调用字符串实例的方法。您可以将其称为静态方法,但这不是理想的形式,因为它是"详细的"。为了完整起见,这里有一个例子:

与下面首选的方法一比较,就会觉得上面的写法显得有些笨拙了:

有关Python语言中的实例、类和静态方法的更多信息,请查看我们的Python深入教程。

如果字符串是不可变的呢?这实际上是一个提醒,字符串方法不支持就地操作,但它们会在内存中返回一个新对象。

注意:就地操作

就地操作是直接更改被调用对象的操作。一个常见的例子是列表的. append()方法:当您对列表使用. append()函数时,原始列表会被更改,. append()的输入会被添加到原始列表中。

无参数字符串拆分

在深入学习字符串拆分之前,先看一个简单的例子:

Python 代码:

输出结果:

这实际上是.分裂()调用的一个特例,很简单,所以我选择它作为例子,如果不指定任何分隔符,.分裂()将使用空格作为分隔符。

这个不带参数的直接调用。分裂()的另一个特点是它会自动删除字符串的前导、尾随和连续空格。比较调用不带分隔符的分裂()和使用"(空格)作为以下字符串的分隔符的结果:

Python 代码:

结果:

Python 代码:

结果:

首先要注意的是,这个例子反映了Python语言中字符串的不可变性:当稍后调用时。分裂(),它对原始字符串进行操作,而不是对第一次调用后生成的列表进行操作。分裂()。

您应该注意的第二件事是,调用不带参数的。拆分()会提取句子中的单词并丢弃任何空格。

指定分隔符

拆分(")的结果很直观,当有前导分隔符或尾随分隔符时,会得到一个空字符串,可以在结果列表的第一个和最后一个元素中看到。

当存在多个连续分隔符时(例如"this"和"is"之间以及"is"和"my"之间的多个空格),第一个将被用作分隔符,后续分隔符将作为空字符串进入结果列表。

注意:调用.split()时的分隔符

虽然上面的示例使用了单个空格字符作为。分裂()的分隔符,但它并没有限制您使用的分隔符类型或字符串的长度。唯一的要求是您的分隔符是字符串。您可以使用从"..."到"分隔符"的任何内容。

使用Maxsplit对拆分进行限定

Split()有一个可选的参数,叫做max拆分。默认情况下,。拆分()将在调用时执行所有可能的拆分。但是,如果您给max拆分赋值,将只生成指定数量的拆分。使用我们前面的示例字符串,您可以看到max拆分是如何工作的:

Python 代码:

运行结果:

如上图所示,如果你将max分裂设置为1,第一个空白区域将被用作分隔符,其余的将被忽略。让我们做一些练习来测试我们迄今为止所学的一切。

练习: “ 自己试试看: Maxsplit”

如果对maxsplit赋一个负数,结果会是怎样?

答案: “ 自己试试看: Maxsplit”

Split()将对所有分隔符执行字符串拆分,这与未设置Max拆分参数时的默认设置相同。

练习: “章节理解检查”

您最近得到了一个逗号分隔(CSV)文件,但是格式设置非常有问题。您的任务是将每一行提取到一个列表中,列表的每个元素代表文件的列。这个文件的格式有什么问题吗?"地址"字段包含多个逗号,但它实际上需要在列表中表示为单个元素!

假定读入到内存中的文件是下面这样的多段字符串:

CSV文件:

希望的输出结果应该是这样的由列表组成的列表

Python输出:

内层的列表是我们关心的CSV文件的列元素,每个内层的列表是CSV文件的一行,外层的列表组合了所有的行。

答案: “章节理解检查”

下面是我的答案,有几种方法可以得到结果,重要的是如何使用.分裂()并使用额外的参数来得到想要的结果:

Python代码:

我们已经调用了两次。第一次调用可能有点难以理解,但是不要担心!让我们一步一步地看一下,你会熟悉这些表达式。让我们看看第一次。拆分()调用:unsplit.split("n")[1:]。

第一个元素是un拆分,这是一个指向输入字符串的变量。然后是。拆分()调用:。拆分("n")。这里,我们使用一个特殊的字符-换行符作为分隔符。

它是做什么的呢,顾名思义,它规定了读取字符串内容时,后面的每一个字符都要在下一行显示出来,像我们使用的input_string这样的多行字符串,每行末尾都有一个隐藏的n。

这一行最后一部分的用法可能有点新:[1:]。在将此语句执行到这一部分之前,将输出一个新的列表。[1:]它看起来像一个列表索引表示,但实际上是一个列表索引表示!这一行末尾的附加索引表示将为我们输出一个列表切片。在这个例子中,我们取索引1和它之后的所有内容,并丢弃索引0处的元素。

总之,我们遍历字符串列表,其中每个元素表示多行输入字符串中除第一行之外的每一行。

对于字符串的每一行,我们使用。拆分()再次拆分字符,但这一次我们使用max拆分只拆分前两个逗号,保持地址部分的内容不变。之后,我们将结果添加到定义的列表数组中,并将其返回给调用方。

字符串的连接及拼接

字符串的另一个基本操作与拆分字符串相反:字符串串联。如果你还没有注意到这个特性,不要担心。这只是一种将字符串粘在一起的花哨方法。

使用 + 操作符进行连接

有几种方法可以做到这一点,这取决于你想实现什么。最简单和最常用的方法是使用加号(+)将多个字符串添加在一起。只需在你要连接的字符串之间放置一个+:

Pyton代码:

结果:

和数学运算一样,您还可以将字符串相乘来进行字符串重复:

Pyton代码:

结果:

记住字符串本身是不可变的!如果你想在变量中存储字符串连接或复制的结果,你必须将结果分配给一个新的字符串变量来存储。

Pyton代码:

结果:

Pyton代码:

结果:

Pyton代码:

结果:

如果不是不可变字符串,full_sentence输出"Hello, world, world"。

另一个需要注意的是Python语言不执行隐式字符串转换,如果尝试将字符串与非字符串类型连接,Python会引发TypeError:

Pyton代码:

结果:

出错的原因是在Python语言中,你只能将字符串与其他字符串连接起来,这是你需要注意的Python语言的一个特性,如果你使用过JavaScript等语言,你就会知道在这些语言中会尝试隐式类型转换。

本文来自网络,不代表语录网立场,转载请注明出处:https://www.chinansn.com/article-1-a2203211510403d4fb1-0.html