首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《Python入门04》Python字符串的那些“事儿”

重磅知识,第一时间送达

前言

前几天收到小伙伴的留言,说你写的python相关教程意义不大,还不如专门整理《NLP》相关文章供大家参考学习,还有小伙伴说你的python入门怎么不更新了,今天地铁上都没得看了。首先我很高兴能收到大家的留言,但是对于这个事,我特别期待这个系列出完的那个时候,肯定会特别有成就感,所以我希望大家能满足一下我的小私心。在此过程中,我一定会平衡好这两个事情的,望大家监督。好了,开始正文吧。

本文概述

根据前几节的介绍,对于字符串的索引和切片相信大家肯定不陌生了,但是对于大数据的处理分析,仅仅掌握前面的知识是不够的。那么,本节将继续介绍字符串的格式设置、字符串处理(拆分、合并和查找)在数据分析中具有哪些实际应用。

一、字符串的基本操作

前面介绍过,所有的序列(包括字符串)操作(切片、索引、乘法、成员资格检查、长度、最小值和最大值)都适用于字符串。但是需要注意的是,字符串是不可变的,因此所有的元素赋值和切片复制都是非法的。例如:

二、字符串的格式基本设置

1、第一种方法:这个先从例子说起,如下:

上面中的“%”是转换说明符,他指出要将值插入到什么地方,s意味着将值视为字符串进行格式设置。如果指定的值不是字符串,将使用str将其转换为字符串。其他说明符将导致其他形式的转换。

2、第二种方法:

包含等号的参数称为关键字参数,在字符串格式设置中,可将关键字参数视为一种向命名替换字段提供值的方式。

3、第三种方法:

使用字符串方法format,使用这种方法时,每个替换字段都用花括号括起,其中可能包含名称,还可能包含有关如何对相应的值进行转换和格式设置的信息。

三、字符串的格式还可以怎么玩?

1、替换字段名

向format提供要设置其格式的未命名参数,并在格式字符串中使用未命名字段。此时,将按顺序将字段和参数配对。你还可给参数指定名称,这种参数将被用于相应的替换字段中。除此之外还可以通过索引来指定要在哪个字段中使用相应的未命名参数,这样可不按顺序使用未命名参数。

2、宽度、精度和千位分隔符

对于宽度:根据需要设置字段的宽度,但是数和字符串的对齐方式不同。

对于千分位:直接使用逗号就可以指出需要使用千分位。

四、字符串方法

字符串的方法很多都是从模块string那里“继承”而来的,字符串的方法太多了,这里只介绍一些最有用的。

1、center方法:通过在两边添加填充字符(默认为空格)让字符串居中。

注意:上面28是规定的宽度,当规定的宽度小于字符串宽度的时候,那么将不会对字符串两边进行填充。

2、find方法:在字符串中查找子串。如果找到,就返回子串的第一个字符的索引,否则返回-1。

3、join方法:其作用与split相反,用于合并序列的元素。

注意:所合并序列的元素必须都是字符串。

4、lower方法:返回字符串的小写版本

5、replace方法:将指定子串都替换为另一个字符串,并返回替换后的结果。

注意:这个方法在批量处理小错误、小细节的时候特别好用。

6、split方法:其作用与join相反,用于将字符串拆分为序列。

注意:如果没有指定分隔符,将默认在单个或多个连续的空白字符(空格、制表符、换行符等)处进行拆分。

7、strip方法:将字符串开头和末尾的空白(但不包括中间的空白)删除,并返回删除后的结果。

8、translate方法:方法translate与replace一样替换字符串的特定部分,但不同的是它只能进行单字符替换。这个方法的优势在于能够同时替换多个字符,因此效率比replace高。

fromstringimportmaketrans# 必须调用 maketrans 函数。

intab="aeiou"

outtab="12345"

trantab=maketrans(intab,outtab)

str="this is string example....wow!!!"

print(str.translate(trantab))

输出结果为:

th3s 3s srr3ng 2x1mp12....w4w!!!

五、总结

本文主要介绍了字符串的两个方面。

1、字符串格式设置

求模运算符(%)可用于将值合并为包含转换标志(如%s)的字符串,这让你能够以众多方式设置值的格式,如左对齐或右对齐,指定字段宽度和精度等。

2、字符串方法

字符串有很多方法, 有些很有用(如split和join),有些很少用到(如istitle和capitalize)。

喜欢小小白AI,请持续关注。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180806G1XDY700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券