文档描述
字符串str 写在一对单引号、双引号或三单引号、三双引号之间的符号 abode、2015.2.16、scrupulous“diverse Xis New Year visit marks village homecoming字符串字符串字符串 转义符 如果字符串中需要出现引号等具有特殊功能的符号、并且需要把这些功能符号当作普通符号使用时,则应该利用转义符消除功能符号的特殊功能。特殊符号 r,n 自然字符串 不需要如转义符那样的特别处理的字符串 加上前缀r或R rNewlines are indicated by n 字符串操作 字符串连接字符串连接“hello”+“world”+“!”字符串重复“#”*50 len(abc)3 abc+defabcdef abc defabcdef hello*4hellohellohellohello abc+9#错误错误字符串操作 字符串索引和切片 索引从0开始,可以取负值,表示从末尾提取,最后一个是-1,前一个是-2,依次类推 s=hello s0h s1e s-1o s-2l字符串操作 字符串索引和切片 切片:从字符串中分离提取了一部分内容(子字符串);可以用于提取部分数据,分离出前、后缀等场合 s=hello s1:3el s1:ello s:-1hell s:hello字符串操作 切片(si:j)提取对应的部分作为一个序列 上边界并不包含在内 切片的边界默认为0和序列的长度,如果没有给出的话 s1:3获取从偏移为1开始,直到但不包含偏移为3的元素 s1:获取了从偏移为1直到末尾之间的元素 s:3获取从偏移为0直到但不包含偏移为3的元素 s:-1获取从偏移为0直到但不包含最后一个元素之间的元素 s:获取从偏移为0直到末尾之间的所有元素字符串操作 切片完整形式为:XI:J:KXI:J:K,从偏移为I I直到J-1J-1,每隔K K元素索引一次 K K默认为1,这就是通常在切片中从左至右提取每个元素的原因 步进为负数表示将会从右至左进行而不是从左至右字符串操作 切片的扩展形式X1:10:2会取出X中,偏移量1-9之间,间隔一个元素的元素,即获取偏移量为1、3、5、7、9 s=abcdefghijklmnop s1:10:2bdfhj s:2acegikmo字符串操作 切片的扩展形式 s=0123456 s:0123456 s:-16543210 s:-26420 s1:5:-1 s5:1:-15432 s9:-16543210 s6:-1:-1 s6:-2:-16字符串操作 字符串与整数的类型转换 s=42 type(s)i=int(s)type(i)s1=str(i)type(s1)s=15 s+1Traceback(most recent call last):File,line 1,in TypeError:cannot concatenate str and int objects int(s)+116通过明确的类型转换再进行+操作字符串操作 子串判断:in和not in运算符 s=Hello world!print(Hello in s)True print(hello not in s)False字符串操作 字符串对象是“不可变序列”,不能修改一个字符串对象 s=Hello s0=hTraceback(most recent call last):File,line 1,in TypeError:str object does not support item assignment字符串操作 字符串对象是“不可变序列”,不能修改一个字符串对象 s=Hello s=s+World sHelloWorld s=s:4+OK!+s-1 sHellOK!o可利用合并、切片的方法,新生成一个字符串字符串操作方法 大小写转换大小写转换 upper():转换 string 中的小写字母为大写;lower():转换 string 中所有大写字符为小写;swapcase():翻转 string 中的大小写;title():返回标题化的 string,就是说所有单词都是以大写开始,其余字母均为小写;capitalize():把字符串的第一个字符大写。istitle():如果 string 是标题化的(见 title()则返回 True,否则返回 False;isupper():如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False;字符串操作方法字符类型判断字符类型判断isalpha():如果字符串只包含字母,并且非空,返回 True,否则返回False;isalnum():如果字符串只包含字母和数字,并且非空,返回 True,否则返回False;isdecimal():如果字符串只包含数字字符,并且非空,返回 True,否则返回False;isnumeric():如果字符串只包含数字字符,并且非空,返回 True,否则返回False;isdigit():如果字符串只包含数字字符,并且非空,返回 True,否则返回False;isspace():如果字符串只包含空格、制表符和换行,并且非空,返回 True,否则返回False;istitle():如果字符串仅包含以大写字母开头、后面都是小写字母的单词,返回 True,否则返回False。字符串操作方法 字符串检查字符串检查 count(sub,start=0,end=len(string):返回 str 在 string 里面出现的次数;startswith(str,beg=0,end=len(string):检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。endswith(str,beg=0,end=len(string):检查字符串是否是以指定子字符串结尾,如果是则返回 True,否则返回 False。字符串操作方法 字符串格式化字符串格式化 lstrip(chars):截掉 string 左边的字符串,默认使用空格;rstrip(chars):截掉 string 末尾的空格,默认使用空格;strip(chars):在 string 上执行 lstrip()和 rstrip(),默认使用空格;字符串操作方法 字符串字符串格式化格式化format():#通过位置 print(0,1.format(Tom,20)#通过关键字参数 print(name,age.format(age=18,name=Tom)#通过列表索引设置参数 my_list=Tom,18 print(姓名:00,年龄:01.format(my_list)#0 是必须的字符串操作方法 字符串格式化字符串格式化format():print(:8.format(189)#189 右对齐 print(:8.format(189)#00000189 右对齐并补0字符串操作方法 字符串格式化字符串格式化format():#精度与类型 print(:.2f.format(321.33345)#321.33 2表示小数位数 print(:,.format(1234567890)#1,234,567,890 用来做金额的千位分隔符 print(:.3%.format(0.25)#25.000%3表示百分比中小数点位数 print(:.3e.format(2500000000)#2.500e+09 指数输出,3表示小数点位数字符串操作方法 字符串格式化字符串格式化format():#b、d、o、x分别是二进制、十进制、八进制、十六进制。#x小写输出,#X大写输出 print(:b.format(10)#二进制 10010 print(:d.format(10)#十进制 18 print(:o.format(10)#八进制 22 print(:x.format(10)#十六进制12 print(:#x.format(10)#十六进制0 xa print(:#X.format(10)#十六进制0XA字符串操作方法字符串查找字符串查找string.find(str,beg=0,end=len(string):检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1;string.index(str,beg=0,end=len(string):跟find()方法一样,如果str不在 string中会报一个异常;max(str):返回字符串 str 中最大的字母,根据ASCII码来比较;这是内置函数,不是字符串类型提供的方法。min(str):返回字符串 str 中最小的字母,根据ASCII码来比较;这是内置函数,不是字符串类型提供的方法。string.rfind(str,beg=0,end=len(string):类似于 find()函数,从右边开始查找;string.rindex(str,beg=0,end=len(string):类似于 index(),从右边开始字符串操作方法 字符串修改字符串修改 join(seq):以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串;split(str=,num=string.count(str):以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+1个子字符串。分隔符默认为所有的空字符,包括空格、换行(n)、制表符(t)等。Num指定分割次数,默认为-1,即分隔所有;若指定,则返回列表的元素个数限定为Num+1个。replace(str1,str2,num=string.count(str1):把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次;字符串操作方法 join()lst=1,2,abc,4,5,.join(lst)1,2,abc,4,5字符串操作方法 字符串编解码字符串编解码 encode(encoding=UTF-8,errors=strict):以 encoding 指定的编码格式编码 string,得到一个bytes类型对象,decode(encoding=UTF-8,errors=strict):以 encoding 指定的编码格式解码 string,errors参数和encode()函数一样;相关内置函数 内置函数直接使用,不需import27 int(124)#结果是整数的结果是整数的124 ord(A)#结果结果65,返回符号的,返回符号的ascii码码 chr(66)#结果结果 B,根据,根据ascii码返回符号码返回符号 a=4 b=10#将字符串作为表达式将字符串作为表达式执行执行 eval(“a+b”)#结果结果14,列表(list)o 列表是Python中最具灵活性的有序集合对象类型。和字符串不同的是,列表可以包含任何种类的对象:数字、字符串、自定义对象甚至其他列表。o 似与其他高级语言的数组列表是可变对象,支持在原处修改,可以通过指定的偏移值和切片、列表方法调用、删除语句等方法实现。List列表 赋值a=2,3,4#A list of integerb=2,7,3.5,“Hello”#A mixed listc=#An empty listd=2,a,b#嵌套列表e=a+b#Join two lists 操作x=a1#Get 2nd element(0 is first)y=b1:3#Return a sub-listz=d102#Nested listsb0=42#Change an elementprint sum(a)#=9x=a.pop(0)#pop第一个数据常用列表操作操作解释L1=一个空的列表L2=0,1,2,3四元素列表L3=abc,10,def,ghi嵌套列表L2i索引L3ij索引的索引L2i:j切片len(L2)求长度L1+L2合并L2*3重复List对象的操作方法方法描述描述append(x)在列表尾部追加单个对象x。使用多个参数会引起异常。count(x)返回对象x在列表中出现的次数。extend(L)将列表L中的表项添加到列表中。返回None。Index(x)返回列表中匹配对象x的第一个列表项的索引。无匹配元素时产生异常。insert(i,x)在索引为i的元素前插入对象x。如list.insert(0,x)在第一项前插入对象。返回None。pop(x)删除列表中索引为x的表项,并返回该表项的值。若未指定索引,pop返回列表最后一项。sort()对列表排序,返回none。bisect模块可用于排序列表项的添加和删除。remove(x)删除列表中匹配对象x的第一个元素。匹配元素时产生异常。返回None。reverse()颠倒列表元素的顺序。列表的方法 a=66.6,333,333,1,1234.5 print a.count(333),a.count(66.6),a.count(x)2 1 0 a.insert(2,-1)a.append(333)a66.599999999999994,333,-1,333,1,1234.5,333 a.index(333)1 a.remove(333)a66.599999999999994,-1,333,1,1234.5,333 a.reverse()a333,1234.5,1,333,-1,66.599999999999994 a.sort()a-1,1,66.599999999999994,333,333,1234.5把列表当作堆栈使用 链表方法使得链表可以很方便的做为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用append()方法可以把一个元素添加到堆栈顶。用不指定索引的pop()方法可以把一个元素从堆栈顶释放出来。举例:把列表当作堆栈使用 进、出均在栈顶,后进先出 st=3,4,5 st.append(6)st.append(7)st3,4,5,6,7 st.pop()7 st3,4,5,6 st.pop()6 st.pop()5 st3,4把列表当作队列使用 也可以把链表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放(先进先出)。使用append()方法可以把元素添加到队列最后,以0为参数调用pop(0)方法可以把最先进入的元素释放出来。把列表当作队列使用 先进先出 queue=a,b,c queue.append(d)queue.append(e)queuea,b,c,d,e queue.pop(0)a queueb,c,d,e queue.pop(0)b queuec,d,e删除列表元素 用del 可以删除某个索引的元素或切片元素 lst=1,2,3 lst1,2,3 del lst1 lst1,3 lst.append(4)lst1,3,4 del lst0:lst二维列表 注意下标索引,两个方括号 score=82,98,90,77,89,98,79,90,89,89,86,87,76,87,78,90,76,65 print(score01)98 print(score24)76互动提问
展开阅读全文