标签:pca swa 目标 order index python 等于 dex split()
在Python中字符串本身有带很多操作,字符串的特性,不可以被修改
1、字符串的定义
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#定义空字符串name = ‘‘#定义非空字符串>>> name = "zhangqigao"#通过下标访问>>> name[1]‘h‘#不能修改字符串的值,否则会报错>>> name[2] = ‘3‘Traceback (most recent call last): File "<input>", line 1, in <module>TypeError: ‘str‘ object does not support item assignment |
注:字符串如果修改的话,字符串所在的内存地址也跟着变化,所以不可被修改,但是对于列表来说,可以修改是因为列表的内存是不变的,可以直接在上面修改
2、切片
字符串其实和列表,元组一样,也是可以切片的
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
>>> name = "qigao zhang">>> name[1:4] #取1到4之间的字符,包括1,不包括4‘iga‘>>> name[1:-1] #取1到-1之间的字符,包括1,不包括-1‘igao zhan‘>>> name[0:3]‘qig‘>>> name[:3] #从头开始取,0可以省略,效果等同于name[0:3]‘qig‘>>> name[3:] #想取到最后一个值,必须不能写-1,只能这么写‘ao zhang‘>>> name[0::2] #后面的2表示:每隔一个字符就取一个‘qgozag‘>>> name[::2] #从头开始0可以省略,效果跟上一句一样‘qgozag‘ |
3、首字母大写(capitalize())
|
1
2
3
|
>>> name = "qigao zhang">>> name.capitalize()‘Qigao zhang‘ |
4、统计(count(sub,start=None,end=None))
sub:统计的字符,start:开始位,end:结束位,start和end默认为空时,则表示全部字符中去统计
|
1
2
3
4
5
6
7
|
>>> name = "qigao zhangz"#有开始和结束符>>> name.count("z",1,5)0#从整个字符串中统计字符>>> name.count("z")2 |
5、center(width,fillchar)
如果width(字符宽度)小于等于(<=)字符串的长度,则返回原字符串,如果大于(>)字符串的,则用fillchar(填满字符)填满,处理结果等于width,字符串位于fillchar的中间
|
1
2
3
4
5
6
7
8
9
10
11
|
>>> name = "qigao zhangz">>> len(name)12#10小于等于字符串宽度>>> name.center(10,‘-‘)‘qigao zhangz‘#51大于字符串长度,并且字符串位于填充字符的中间>>> name.center(51,‘-‘)‘--------------------qigao zhangz-------------------‘>>> len(name.center(51,‘-‘))51 |
6、ljust(width,fillchar)
如果字符串的长度大于width(字符宽度),则返回原字符串,如果小于width,则用fillchar(填满字符)填满,处理结果等于width,fillchar位于字符串的最右边
|
1
2
3
4
5
6
7
8
9
10
11
|
>>> name = "qigao zhang">>> len(name)11#小于等于字符串的长度>>> name.ljust(11,‘-‘)‘qigao zhang‘#大于字符串的长度>>> name.ljust(50,‘-‘)‘qigao zhang---------------------------------------‘>>> len(name.ljust(50,‘-‘))50 |
注:ljust中的l表示left的意思,表示从右向左
7.rjust(width,fillchar)
如果字符串的长度大于width(字符宽度),则返回原字符串,如果小于width,则用fillchar(填满字符)填满,处理结果等于width,fillchar位于字符串的最左边
|
1
2
3
4
5
6
7
8
9
|
>>> name = "qigao zhang">>> len(name)11>>> name.rjust(11,‘-‘)‘qigao zhang‘>>> name.rjust(50,‘-‘)‘---------------------------------------qigao zhang‘>>> len(name.rjust(50,‘-‘))50 |
注:ljust中的l表示left的意思,表示从左向右
8、编码(encode)
字符串的编码和解码,在这边不用说了,我专门写了一篇博客,详细地址:猛击这里
9、endwith(suffix,start=None,end=None)
判断是否已suffix结尾,是返回True,否返回Fales
suffix:表示字符,start:开始位,end:结束位,start和end默认为空是,表示从整个字符串的结尾去判断
|
1
2
3
4
5
6
7
|
>>> name = "qigao zhang"#start和end不为空>>> name.endswith(‘g‘,1,5)False#默认为空>>> name.endswith(‘g‘)True |
10、find(sub,start=None,end=None)
全文查找sub中第一个字符所在整个字符串中的索引值,没有找到则返回-1
sub:字符或者字符串,start:开始位,end:结束位,start和end默认为空时,则在整个字符串中查找
|
1
2
3
4
5
6
7
8
9
10
|
>>> name = "qigao zhang"#没找到,则返回-1>>> name.find(‘zh‘,1,5)-1>>> name.find(‘q‘,2)-1>>> name.find(‘zh‘)6>>> name.find(‘zh‘,1,8)6 |
11、rfind(sub,start=None,end=None)
从左向右查找sub中第一个字符所在整个字符串中的索引值,没有找到则返回-1
|
1
2
3
4
5
6
7
|
>>> name = "qigao zhang"#找到>>> name.rfind(‘q‘)0#未找到>>> name.rfind(‘q‘,2)-1 |
12、format()
这个函数就不用多少了,这个小主也专门写了一篇博客,更多用法,请:猛击这里
13、format_map()
数据格式,以字典形式传入
|
1
2
3
4
|
>>> name = "name:{name},age:{age}">>> name.format_map({‘name‘:‘zhangqigao‘,‘age‘:23})#输出结果‘name:zhangqigao,age:23‘ |
14、isalnum()
是否是一个阿拉伯数字和字母,它包含因为英文字符+(1-9)数字,中间不能有特殊字符
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
>>> age = ‘23‘>>> age.isalnum()True#有特殊字符的>>> age = ‘2.3‘>>> age.isalnum()False>>> age = ‘ab23‘>>> age.isalnum()True>>> age = ‘ab‘>>> age.isalnum()True |
15、isalpha()
是否是一个纯的英文字符,包含大写
|
1
2
3
4
5
6
7
8
9
10
11
|
>>> age = ‘ab‘>>> age.isalpha()True#夹着数字>>> age = ‘ab23‘>>> age.isalpha()False#大写>>> age = ‘Ab‘>>> age.isalpha()True |
16、isdigit()
判断是否是一个整数,详情请见:猛击这里
17、isspace()
判断是否是一个空格
|
1
2
3
4
5
6
7
8
|
#不是空格>>> age = ‘ age‘>>> age.isspace()False#是空格>>> age = ‘ ‘>>> age.isspace()True |
18、istitle()
是否是一个标题(字符串中的每个单子首字母大写)
|
1
2
3
4
5
6
7
8
|
#每个单词的首字母是大写>>> name = "Zhang Qi Gao">>> name.istitle()True#每个单词的首字母是小写>>> name = "zhang qi gao">>> name.istitle()False |
19、isupper()
是否是大写,注意字符串必须全部是大写才会返回True,否则返回False
|
1
2
3
4
5
6
7
8
|
#全部大写>>> name="ZHANG">>> name.isupper()True#小写>>> name="Zhang">>> name.isupper()False |
20、join()
序列用某个字符拼接成一个字符串,注意的是,序列的元素必须是str类型
|
1
2
3
|
>>> a = [‘1‘,‘2‘,‘3‘]>>> ‘+‘.join(a)‘1+2+3‘ |
21、lower()
字符串中的大写字母转换为小写字母
|
1
2
3
|
>>> name = "ZhangQiGao">>> name.lower()‘zhangqigao‘ |
22、upper()
字符串中的小写字母转换为大写字母
|
1
2
3
|
>>> name = "ZhangQiGao">>> name.upper()‘ZHANGQIGAO‘ |
23、strip()
去掉左右两边的空格(space)和回车(\n)
|
1
2
3
|
>>> name = " \n zhangqigao \n">>> name.strip()‘zhangqigao‘ |
24、lstrip()
删掉左边到右的空格(space)和回车(\n)
|
1
2
3
|
>>> name = " \n zhangqigao \n">>> name.lstrip()‘zhangqigao \n‘ |
25、rstrip()
删掉右边到左边的空格(space)和回车(\n)
|
1
2
3
|
>>> name = " \n zhangqigao \n">>> name.rstrip()‘ \n zhangqigao‘ |
至此,方法前有l(left)和r(right)的函数,都是对之前函数的一个扩展,带l的表示至始至终从右到左操作,记住左边才是最终目的地,而带r的至始至终都是从左到右,因为右边才是它的终极目标
26、split()
分割函数,默认是以空格分割(space)生成一个列表,如果其他字符分割,输入其他字符参数
|
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> name = "qigao zhang"#默认为空,按空格分割>>> name.split()[‘qigao‘, ‘zhang‘]>>> name = "qigao+zhang"#以‘+‘字符分割>>> name.split("+")[‘qigao‘, ‘zhang‘]#以‘\n‘分割>>> name = "qigao\nzhang">>> name.split("\n")[‘qigao‘, ‘zhang‘] |
27、splitlines()
以换行符分割,这个一般在windows上开发,移到Linux上执行,或者在Linux上开发,移到Windows上执行,因为换行在windows上是"\r\n",linux上是‘\n‘
|
1
2
3
|
>>> name = "qigao\nzhang">>> name.splitlines()[‘qigao‘, ‘zhang‘] |
28、swapcase()
把大写换成小写,把小写换成大写
|
1
2
3
|
>>> name = "ZHang">>> name.swapcase()‘zhANG‘ |
29、startswith(prefix, start=None,end=None)
判断是否已prefix结尾,是返回True,否返回Fales
prefix:表示字符或者字符或者字符串,start:开始位,end:结束位,start和end默认为空是,表示从整个字符串的结尾去判断
|
1
2
3
4
5
|
>>> name = "zhang qigao">>> name.startswith("zhang") #开头找到"zhang" 字符串True>>> name.startswith("h",3,5) #在索引3到5之间没有找到以字符‘h‘开头False |
30、replace(old,new[, max])
old:将被替换的子字符串; new:新字符串,用于替换old子字符串;max:可选字符串, 替换不超过 max 次
|
1
2
3
4
5
6
7
8
9
10
|
>>> name = "zhang is shuai ge">>> name.replace(‘is‘,‘was‘)‘zhang was shuai ge‘#原字符串没有改变>>> name‘zhang is shuai ge‘>>> name.replace(‘is‘,‘was‘,0)‘zhang is shuai ge‘>>> name.replace(‘is‘,‘was‘,1)‘zhang was shuai ge‘ |
31、zfill(width)
字符的长度是否大于等于(>=)with,如果比width小,则在字符串钱用0填充,如果>=width,则返回原字符串
|
1
2
3
4
5
6
7
8
9
|
>>> name = "zhangqigao">>> len(name)10#width大于字符串长度>>> name.zfill(11)‘0zhangqigao‘#width小于等于字符串长度>>> name.zfill(10)‘zhangqigao‘ |
标签:pca swa 目标 order index python 等于 dex split()
原文地址:http://www.cnblogs.com/luoahong/p/7159786.html