第一章:python
第二节:符串类型相关函数
1,字符串基本用法
成员关系,适用于字符串、元组和列表,成员关系分为in、not in
0 <= index <= len(sequence)-1
-len(sequence) <= index <= -1
切片从起始索引到结束索引
包括开始索引,不包括结束索引 (不包括结束索引对应的元素)
字符串格式转化符:
%s字符串,%d十进制数,>>> '%.2f'%1234.56789
'1234.57'
>>> 'we are at %d%' % 100
'we are at 100%'
len():字符串,列表,元组长度
enumerate():循环取出索引值及字符,索引值在前,字符在后,适用于字符串,列表和元组>>> s=[5, 6, 7, 8]
>>> enumerate(s)
<enumerate object at 0x026D9B20>
>>> for i,t in enumerate(s):
... ····print i,t
0 5
1 6
2 7
3 8
2,字符串相关函数
import string
string.count(str, begin=0, end=len(string))
返回str在string里面出现的次数,如果begin或者end指定则返回指定范围内str出现的次数。>>> st2='acacbbc'
>>> st2.count('a')
2
string.find(str, start=0, end=len(string))
检测str是否包含在string中,如果start和end指定范围,则检查是否包含在指定范围内,如果是,返回开始的索引值,否则返回-1>>> st2='acacbbc'
>>> st2.find('b')
4
string.index(str, begin=0, end=len(string))
与string.find()用法相同,但如果str不在string中会抛出一个异常
string.join(seq)
以string作为分隔符,将seq中所有的元素(字符串表示)合并为一个新的字符串
例如:>>> ' '.join(['1','2','3','4','5'])
'1 2 3 4 5'
join函数对象是一个以str为元素对象的列表,通过’ '空格合并为一个字符串>>> '\t'.join(['1','2','3','4','5'])
'1\t2\t3\t4\t5'
string.lower()
转换string中所有大写字符为小写
string.upper()
转换string中所有小写字符为大写
string.replace(old, new[, max])
表示字符串的替换,将字符串old中的字符在string字符串中替换成new
old,在str字符串中存在的,且将别替换的子字符串
new,新字符串,用于替换old子字符串
max,可选字符串,替换不超过max次,如果不加入该参数,则new字符串将替换所有old字符串。>>> s2='abbcdd'
>>> s2.replace('a', 'c')
'cbbcdd'
>>> s2.replace('d', 'c', 1)
'abbccd'
string.strip()
表示去掉字符串string左边或右边的’\t’,’\n’,’\s’(制表符,换行符和空格)>>> s3='abc\n'
>>> s3.strip()
>>> s3
'abc'
string.split(str="", num=string.count(str)) #str=“”
以str为分隔符对string进行切片,如果num有指定值,则仅分割num个字符串>>> s4='abbcdd'
>>> s4.split('b')
['a', '', 'cdd']
>>> s4.split('b', 1)
['a', 'bcdd']
string.partition(str)
该用法相当于string.find()和string.split()的结合体,从str出现的第一个位置其,把字符串string分成了一个3元组(string-pre-str, str, string-post-str)如果string中不包含str,则string-pre-str==string>>> s5='abbcdd'
>>> s5.partition('a')
('', 'a', 'bbcdd')
>>> s5.partition('b')
('a', 'b', 'bcdd')
关于string函数的更详细内容,参见如下链接:(包括str.format()的用法)
https://docs.python.org/2/library/string.html
str.format()的用法
对应位置替换字符>>> '{2}, {1}, {0}'.format('a', 'b', 'c')
#对应位置替换字符'c, b, a'
>>> coord = {'latitude': '37.24N', 'longitude': '-115.81W'}
>>> 'Coordinates: {latitude}, {longitude}'.format(**coord)
#字典对应key替换字符'Coordinates: 37.24N, -115.81W'
添加数字千分符>>> '{:,}'.format(1234567890)
'1,234,567,890'
改变数字的精度,确定小数的有效数字个数'{:.1f}'.format(5.166274)
'5.2'
'{:.4f}'.format(4.9)
'4.9000'
定义百分数>>> 'Correct answers: {:.2%}'.format(19.5/22)
'Correct answers: 88.64%'
定义时间>>> import datetime
>>> d = datetime.datetime(2010, 7, 4, 12, 15, 58)
>>> '{:%Y-%m-%d %H:%M:%S}'.format(d)
'2010-07-04 12:15:58'