String
字符串是Python中最常用的数据类型,可以用单引号和双引号创建字
符串,字符串是不可变的。
字符串的基本操作:Python内建序列包括(列表、元组、字符串、
Unicode字符串、buffer对象和xrange对象)他们的操作是通用的,
下面我们来介绍。
通用序列操作
索引:序列中的每个元素都分配一个数字,代表他在序列中的索引(位置),
从0开始。例如str='hello world' ;str[1]的值为e;在Python中索引更为灵活可以从左往右通过位置获取元素,
也可以从右往左获取元素(正负表示)。不过需要注意的是,最后一个元素的索引不是负0,正负0都表示第一个元素。
分片:索引是对单个元素进行访问,由于要扩大一次对元素的访问个数,因此添加了分片。通过对冒号相隔的两个索引来实现。
例如number=[1,2,3,4,5,6,7,8,9]
number[1:3]从索引1,取到索引3(不含3)的中间元素即,[2,3]
number[1:]从索引1开始,取到最后一个索引即,[2,3,4,5,6,7,8,9]
number[:5]从索引0开始,取到索引5(不含5)即,[1,2,3,4,5]
number[:]取得全部number,输出整个序列,可以用来复制序列索引可以从左往右也可以从右往左,因此分片也可以。但需要注意的是分片中最左边的索引比它右边的索引晚出现在序列中,结果就是一个空。例如number[-1:0],结果为空。先出现number[0],后出现number[-1]除了分片的开始和结束点外,还提供了另一个可添加的参数步长,默认是1。且步长必须不等于0。在步长为负数时要求开始的大于结束点。这样可以不连续的取出元素。
序列相加:类似数学运算的加法,将两个序列拼接,但是只是类型相同的序列才能通过加号序列连接操作。例如:str1=[1,2,3] str2=[4,5]
str1+str2结果为[1,2,3,4,5]
乘法:注意只有加法和算术运算类似,其它的都不相同。这里的乘法是指原来的序列被重复N次。例如:str=[1,2] str*2结果为[1,2,1,2]可以通过这个方法创建占N个空间的空列表,也就是快速初始化。
成员资格:Python中提供了in运算符,来检查一个值(字符或数字)是否在序列中,返回结果为True或False
注意:数字类型不能再字符串类型中通过in进行成员资格检查,这样会报错,而字符串类型可以在数字类型中通过in进行成员资格检查。
长度、最小值和最大值
len函数返回序列中所包含元素的数量,min函数和max函数分别返回元素中最大和最小值。
字符串格式化
字符串格式化符号开始-%,以下用例子说明
print('hello %s'%'world') 结果为hello world
%s部分称为转换说明符,标记了需要放置转化值的位置。通用术语占位符后面的%相当于要放入的字符。
字符串格式化元组,就是%后面为一个元组,前面的占位符个数和后面len(元组)相同
例如:print('%s,%s'%('hello','2017'))
上一个例子属于简单转换,下面来看看字段宽度和精度格式化
print('%.*s'%(5,'hello world')) 结果为hello
(.)后跟精度值;(*)可以作为字段宽度和精度数值从元组中读取
字符串方法
find()方法用于检测字符串中是否包含子字符串str。如果指定开始和结束范围,就检查是否包含在指定范围内。如果包含子字符串,就返回开始的索引值;否则返回-1.
语法为:find(待检测子串,开始=0,结束=len(字符串))
用法为可以find(str)
find(str,开始索引值)
find(str,开始索引值,结束索引值)
join()方法用于将序列中的元素以指定字符连接成一个新字符串。
语法为:str.join(要连接的元素序列)
这种方法可以用来拼凑路径。
lower()用于将字符串中所有大写字符转换为小写。
语法为str.lower()
upper()用于将字符串中所有小写字符转换为大写。
语法为str.upper()
swapcase()对于字符串的大小写字母进行转换,大写字符转换为小写,小写字符转换为大写。
以上三个方法都不需要参数。
replace()方法把字符串中的旧字符串替换成新字符串,还可以指定最大替换次数。
语法为str.replace(旧字符,新字符串[,最大替换次数])
split()方法通过指定分隔符对字符串进行切片,如果参数num有指定值,就只分隔num个子字符串。返回结果为分割后的字符串列表。
语法str.(分隔符[,分割次数])分隔符默认为空格
strip()方法用于移除字符串头尾指定的字符(默认为空格),返回结果为移除字符串头尾指定的字符所生成的新字符串。
语法strip([要移除的字符])
translate()方法根据参数table给出的表转换字符串的字符,将要过滤的字符放到delete表中。返回结果为翻译后的字符串
语法str.translate(翻译表[,要过滤的字符列表])翻译表通过maketrans方法转换。
intab = 'abc'
outtab = '123'
tran = st.maketrans(intab,outtab)#定义st,防止出错;构造翻译表
str='abcdef'#要转化的字符串
print(str.translate(tran))
领取专属 10元无门槛券
私享最新 技术干货