python max()字符串的比较_(MAX第三篇)Python--字符串操作(一)

Python字符串及操作(一)

此片文章总结涉及到字符串的引入、使用、索引选取、连接重复以及成员判断

字符串(string)

字符串是以单引号' '或者双引号“ “括起来的任意文本。

由于我是新手,只是进行所学内容的总结,所以字符串编码这一块还不是特别的熟练,可以参考廖雪峰。

字符串用单引号' ':

>>> name='Max'

>>> name

'Max'

>>> smart='你聪明么' #可以输入中文,但是要记住不能在中文状态下输入引号

>>> smart

'你聪明么'

>>> Me='I am Max'

>>> print(Me) #当使用print()打印,输出的文本不带单引号,输出的文本包含空格等

I am Max

使用单引号,则在输入的文本中不能在出现单引号,如果要用单引号,可以使用==转义符\== 进行转化

>>> b='I\'m Max, my name\'s Max'

>>> print(b) #当使用print()打印,输出的文本不带双引号

I'm Max, my name's Max

字符串用双引号'" ",使用双引号的同时还可以使用单引号:

>>> name="Max"

>>> name

'Max'

>>> Introduce="I'm Max"

>>> print(Introduce) #当使用print()打印,输出的文本不带双引号

I'm Max

字符串可以使用三引号,把文本完全输出

>>> sample='''I am Max,

I want to show you some "sample", could I'''

>>> sample #原文由换行,所以在此处会有一个\n换行符

'I am Max,\nI want to show you some "sample", could I'

>>> print(sample) #使用print(),则会原文输出。

I am Max,

I want to show you some "sample", could I

同样可以输出中文

>>> Matchgirl="""我是一个卖女孩的

火柴,

我今天快要被“冻死”了,因为没有了“燃料”,而且女孩都

回家了"""

>>> Matchgirl

'我是一个卖女孩的\n火柴,\n我今天快要被“冻死”了,因为没有了“燃料”,而且女孩都\n回家了'

>>> print(Matchgirl)

我是一个卖女孩的

火柴,

我今天快要被“冻死”了,因为没有了“燃料”,而且女孩都

回家了

>>>

常用的转义字符

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用 ==r' ‘(原始字符串)== 表示''内部的字符串默认不转义,原样输出。

>>> print('\\\n\\')#使用了三个转义

\

\

>>> print('\\\t\\') #使用了\t tab四个键

\ \

>>> print(r'\\\t\\') #不转义,原样输出

\\\t\\

转义字符

结果

(在行尾时)

续行符

| 反斜杠符号

'

单引号

"

双引号

\a

响铃

\b

退格(Backspace)

\e

转义

\000

\n

换行

\v

纵向制表符

\t

横向制表符

\r

回车

\f

换页

\oyy

八进制数,yy代表的字符,例如:\o12代表换行

\xyy

十六进制数,yy代表的字符,例如:\x0a代表换行

\other

其它的字符以普通格式输出

字符串的操作

字符串可以进行不同的操作,这篇总结文章先涉及到比如查找,选取、连接,重复,成员查询等操作,

查找、选取

索引(index)-- obj[ i ]

对于每一个字符串中的字符都有一个位置索引,而且是从0开始,也就是说0指的是第1个,1指的是第2个,这种在IP地址、列表、集合、元组等中都是如此定义.

每一个字符的索引值,空格也是一个字符. 索引采取 :

>>> Me='I am Max'

>>> Me[0] #返回字符串的第一个字符

'I'

>>> Me[2] #返回字符传的第三个字符

'a'

>>> Me[4] #在字符串中,空格也是表示一个字符,所以此处返回空的字符

' '

>>> Me[9] #该字符串最大索引为7,9超出范围,出现IndexError.

Traceback (most recent call last):

File "", line 1, in

Me[9]

IndexError: string index out of range

字符串可以从左到右索引,可以使用负数值索引,最后一个索引值为-1,从左到右的负数依次增加1.

在这里插入图片描述

>>> ST='卖女孩的小火柴'

>>> ST[1]

'女'

>>> ST[-6] #可以发现同一个字符可以有不同的索引取值方法

'女'

>>> ST[4]

'小'

>>> ST[-3]

'小'

选取字符串一部分 -- [:]

命令代码为 ==string[m:n]== ,这里的m和n表示索引值(可以取正,也可以取负,与上面的索引相同),表示从索引m(第m+1个字符)开始,到索引n-1(第n个字符)结束。如果m省略,则表示从第一个字符开始,如果n省略,则表示取到最后一个字符,如果m和n都忽略,则表示取全部。

==此处需注意:索引m和索引n的位置关系,必须是前到后,否则输出为空==

>>> more='The smart Max is a international teacher'

>>> print(more)

The smart Max is a international teacher

>>> more[1:10] #从索引1(第2个字符)开始到索引9(第10个字符)的取值(共9个),不包括索引10,是左闭右开

'he smart '

>>> more[:9] #冒号:前没有值,则从索引0即第一个开始,到索引8(第9个字符)结束(共9个)。

'The smart'

>>> more[4:15] #从索引4(第五个字符)开始,到索引14(第十五个字符)结束。

'smart Max i'

>>> more[4:-1] #-1代表最后一个字符,所以从索引4(第5个字符)开始,索引-2(倒数第2个字符)结束

'smart Max is a international teache'

>>> more[:] #不加数字,只有一个冒号,则取全部字符,即整个字符串

'The smart Max is a international teacher'

>>> more[-7:] #从索引-7到最后一个结束

'teacher'

>>> more[-13:-4]

'ional tea'

>>> more[-17:19] #因为-17索引的位置在索引19的位置后面,不能从后往前选取

''

>>> print(more[-7:]) #打印输出无单引号

teacher

>>> print(more[:-1]) #从第一个开始,倒数第2个结束。

The smart Max is a international teache

同样可以每隔 i 个字符选取。

命令:==string[ m:n:i ]==,其中 i 为正数的情况下,表示相隔 i个取字符, 如果i不输入值,则表示默认为1.==此处索引的位置m在前,n在后==

>>> more[1:10:2]

'h mr '

>>> print(more[3:15:4])

ra

>>> print(more[2:16:2])

esatMxi

可以选择部分字符串并且逆序输出。

命令:==string[ m:n:i ]==其中的 i 为负值则可以逆序输出,但是==索引m的位置必须在索引n的位置之后。==

>>> a='abcdefghijklmnopqrst'

>>> a[10:2:2] #i为2,则为空

''

>>> a[18:8:-2] #从索引18到索引8,逆序每隔两个选择字符

'sqomk'

>>> a[-2:-10:-2] #-2>-10

'sqom'

>>> a[-3:10:-2] #索引-3的位置在索引10的位置之后,-2表示每隔两个逆序选取

'rpnl'

>>> a[::-1] #表示把整个字符串逆序输出

'tsrqponmlkjihgfedcba'

反查索引index

使用命令:string.index(str)

>>> alphabet='abcdefghijklmnopqrstuvwxyz'

>>> alphabet.index('f') #查询f的索引

5

>>> alphabet.index('o') #查询o的索引

14

如果想查询一个子字符串的索引,则使用 ==string.find(str)==返回值为str第一个字符的索引位置。string.rfind(str)从右边开始查找,根据字符串的位置决定使用,可以缩短时间。

>>> Time.find('15') #返回1所在的索引

11

>>> alphabet.find('opqr') #返回o所在的索引

14

>>> alphabet.find('bfg') #'bfg'字符串不在字符串中,所以返回值为-1

-1

>>> alphabet.find('123') #‘123’不再字符串中,所以返回值为-1

-1

>>> alphabet.find('c',10,15) #检查字符是否在10-15之间,是则返回索引,不是则返回-1

-1

连接、重复、成员查询

可以用‘+’把两个或者多个字符串连接成一个字符串

可以用‘*’重复输入字符串

可以用‘in’,‘not in‘查询是否为字符串的成员

连接

>>> string1='I am '

>>> string2='Max'

>>> string1+string2

'I am Max'

>>> string3='a '

>>> string4='cool '

>>> string5='guy.'

>>> string1+string3+string4+string5

'I am a cool guy.'

字符串的连接还可以使用内置函数join,并且可以利用不同的符号连接

>>> '-'.join(('I','am','Max')) #用短线连接,括号里为一个参数,必须加括号

'I-am-Max'

>>> ' '.join(['I','am','Max'])#用空格连接,括号里为一个参数,可以为中括号

'I am Max'

>>> sep='*' #设置分隔符

>>> a='相乘要使用'

>>> b='字符串重复n次要用'

>>> c='乘'

>>> sep.join((a,b,c)) #用 *分割连接a,b,c三个量

'相乘要使用*字符串重复n次要用*乘'

字符串同样可以进行分割 ==string.split(sep)==,sep表示分割的符号

>>> Today='Today is 4th April 2020'

>>> Today.split(' ')#使用字符串中的空格分割字符串,输出的为一个列表

['Today', 'is', '4th', 'April', '2020']

>>> Time='2020-04-04-15-42-37'

>>> Time.split('-') #使用字符还中的短线分割字符串,输出的是一个列表

['2020', '04', '04', '15', '42', '37']

>>> Time.split('15') #使用15分割字符串

['2020-04-04-', '-42-37']

重复

>>> name='Maximum'

>>>> name+name+name #加号连接三个变量name

'MaximumMaximumMaximum'

>>> name*3 #*3表示重复3次,等同于上面

'MaximumMaximumMaximum'

>>> print('-'*10+'Max'+'-'*10) #print()打印输出

----------Max----------

>>> print('-'*10,'Max','-'*10) #pring()打印可以用逗号连接,但是两个字符串之间会有空格,表示的是输出三个字符串

---------- Max ----------

成员判断

>>> names='Max Kiki Melinda'

>>> 'Max' in names #Max是names的部分字符串

True

>>> 'Max ' in names #‘Max ’包含空格,同样是names的部分字符串

True

>>> 'kiki' in names #大小写同样要注意

False

>>> 'Tony' not in names

True

>>> 'Melinda' not in names

False

字符串转化

>>> int('123') #数字字符串转化为整数

123

>>> str(123) #整数转化为字符串格式

'123'

>>> float('1.234')#数字型字符串转化为浮点数

1.234

#以下是字符与对应的数字编码之间的变换。

>>> ord('a')#字母a转化为对应的数字编码

97

>>> ord('z')#字母z转化为对应的数字编码

122

>>> chr(97)

'a'

>>> chr(122)

'z'

>>> chr(123)

'{'

>>> chr(1234)

'Ӓ'

你可能感兴趣的:(python,max()字符串的比较)