liyihao

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

原链:http://www.cnblogs.com/vamei/archive/2012/07/19/2599940.html

笔记:更新输出内容及一些备注,理解了可能会忘,增加注释

#第22讲  标准库-正则

#这里引入了作者的补充序列,正则在这之后
s = [1,2,3,4,5,6]
len(s)#s的元素个数
#6
min(s)#s 最小的元素
#1
max(s)#s 最大的元素
#6
all(s)#s 中所有元素都为True的话,返回True
#True
any(s)#s 中任一元素为True的话,返回true
#True



#查询方法,适用于tuple  list
sum(s)#返回s 中所有元素的和
#输出21
s.count(1)#x为元素,x这个元素在s中出现的次数
#1
s.index(2)#x为元素,查询x这个元素在s中的索引,下标
#1


#增删 排序,适用list
#这里有一些方法
#记得之前用help 的时候看到过,尤其是list
#第10讲 小结部分用help的时候 http://www.cnblogs.com/liyihao/p/7655676.html

s1 = [7,8,9]
s.extend(s1)#在s 末尾增加s1 这个list的所有元素
#输出s  [1,2,3,4,5,6,7,8,9]
#s.append(x)#在s 末尾增加x 这个元素
s.append(4)
#输出s  [1,2,3,4,5,6,7,8,9,4]
s.sort()#对s 这个list进行排序,从小到大
#输出 [1,2,3,4,4,5,6,7,8,9]
s.reserve()#逆序排列
#输出
s.pop()#最后一个元素删除并返回
del s[2]#删除索引为2 的元素

#删除操作都是在原来的表上进行操作,会直接对原来的表产生影响,产生表的变化,不是返回新的list


#str 类也是tuple的一种,但是str 是有一些方法是改变字符串的
#这些方法的本质不是对原有字符串进行操作,而是删除原来的str,新建str
s = 'adsfdf'
s1 = 'd'

s.count(s1)#s1 在s中的出现的次数
s.find(s1)#从左开始查找,s1 在s 中第一次出现的位置,如果s里面没有s1,返回-1
s2 = '3'
#s.find(s2)
s.index(s1)#从左开始查找,s1 在s 的第一次出现索引位置,如果s里面没有s1,报错
s.find(s2)
#s.index(s2)


s.rfind(s1)#从右开始查找,s1在s第一次出现的位置(返回的是索引号,索引号是从左边开始的),如果s中没有s1,返回-1
s.rindex(s1)#从右开始查找,s1在s第一次出现的位置,如果s中没有s1,报错
s.rfind(s2)
#s.rindex(s2)


s.isalnum()#s 这个str里面全是字母或者数字返回True,不是False
s.isalpha()#s 这回str里面所有字符都是字母,返回True,不是False
s.isdigit()#所有字符都是数字True,不是False
s.istitle()#所有词的首字母都是大写True,不是False
s.isspace()#所有字符都是空格 True,不是False
s.islower()#所有字符都是小写 True,不是False
s.isupper()#所有字符都是大写 True,不是False



#切片
#语法:str.split(str="", num=string.count(str)).
#num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅分隔 num 个子字符串
#将分割的字符串放在list中返回

l = 'f d s j a n'
l.split(' ',6)#传递2个参数,一个是以什么进行分割,一个是分割的次数
#['f','d','s','j','a','n']
l.rsplit(' ',5)
#一共5个空格,参数设置6,也是分隔了5次
#从右边开始分隔
l.split(' ',4)
#输出  ['f','d','s','j','a n']


#这里注意
l = 'abcdedg'
l.split('d',2)#这里分隔用的参数,是原来str里面有的才会进行分隔,以d进行分隔,分隔2次
#输出就是['abc','e','g']
#以d进行分隔,分隔1次
l.split('d',1)
#输出['abc','edg']
#以*为参数,就不分割了。。。。因为没有这个参数


l = 'f j d s j a j n'
l.split('j',2)
#输出['f ',' d s ',' a j n']

#这里要注意,分割次数是2,分出来的是3片

l.rsplit('j',2)
#从右边开始分割,以j为分隔符,分割2次


#语法:str.join(sequence)
l = '3'
s = ['1','2','3']
l.join(s)
#将s 的元素,以str 为分隔符,合并成一个字符串
#输出'13233'
#将序列中的元素以指定的字符连接,s中的元素以l中的字符连接,就是s的元素,都插入l的字符,然后生成字符串


l = 'f d s j a n'
s= ['1','2','3']
l.join(s)
#这个是继承上面,刚开始看半天看不懂
#这里其实可以这样做,list先整合字符串'123',然后插入l的字符,'1f d s j a n2f d s j a n3',免得出错

l = ' f d s j a n '
l.strip()
#去掉字符串开头和结果的空格
#输出'f d s j a n'

l = 'f d s j a n '
l.strip('f')
#去掉字符串开头和结果的字符串,参数'f'
#输出' d s j a n '

l = 'f d s j a n '
l1 = 'f'#可有可无
l2 = 'w'#可有可无
l.replace('f','w')#用参数w替换l里面的参数f
#'w d s j a n '

l = 'f d s J an '
l.capitalize()#第一个字母大写,其他大写会变小写
#'F d s j an '
l.lower()#全部小写
#'f d s j an '
l.upper()#全部大写
#'F D S J AN '
l.swapcase()#大写改小写,小写改大写
#'F D S j AN'
l.title()#每个词首字母大写,以空格为分割
#'F D S J An'


#center()
str.center(width, fillchar)
#width 是返回的字符串长度
#后面是 填充字符,没有就用空格代替
#返回是指定的长度,原来的str在中间,其他地方是参数

l = 'abcde'
l.center(10)
#'  abcde   '    左边2个空格,右边3个
l.center(16,'*')
#'*****abcde******'

#ljust()
str.ljust(width[, fillchar])
l.ljust(8,'-')
#指定字符串长度参数
#原来字符串放在左边,左边添加填充参数,默认空格
#'---abcde'


#rjust()
str.rjust(width[, fillchar])
l.rjust(12,'+')
#指定字符串长度参数
#原来字符串放在左边,右边添加填充参数,默认空格
#'abcde+++++++'

 

注:作者很多都是直接写的代码,然后进行一些解释

函数语法,是在菜鸟教程上看到的,可以配合加深理解

posted on 2017-10-26 20:06  liyihao  阅读(183)  评论(0)    收藏  举报