python学习第16天。

内置函数是在原本已经有的序列的基础上,再生成新的。

List的方是修改原列表。

内置函数中大部分函数的返回值大部分都是迭代器、生成器。

Sorted需要遍历操作,不是单纯的迭代,所以不生成迭代器。

 

一般情况下不在函数中使用inputprint

 

双端队列和列表的区别,

不表现在

表现在效率和底层的数据结构上。

 

列表和双端队列的应用场景。

插入和删除比较频繁时用双端队列

如果查询和只用appendpop不加参数,用列表更好。

 

Re

一个中括号代表一个字符组,中间加[-]代表范围。

字符组[]描述的是一个字符位置上的内容规则。

字符组内所有的范围都是根据ASCII的顺序。

匹配的范围要根据ascii表的顺序,不可逆序匹配。

大写[A-Z]

小写[a-z]

大小写[A-Za-z],中间不需要添加符号

 

在字符组中,有一些字符是有特殊意义的。需要用\转义符。

- 代表范围

[0-9]  \ddigit)匹配任意一个数字

[A-Za-z0-9_] \w数字字母下划线

\n匹配回车,换行符

\t 匹配制表符

   空格就匹配空格

\s  匹配所有空白

(任意字符)\b  匹配该字符集是否在末尾是否在边界。

 

反义词

\W 除数字字母下划线之外的所有

\D  除数字外的所有

\S  除空白外的所有

 

 

.匹配换行符之外的所有字符

 

什么都拿出来的数据叫脏数据

 

匹配出精确的数据叫数据的清洗。

 

匹配所有:[\D\d]   [\W\w]  [\S\s]

非字符组:[^]只要布置字符组中的字符其他的都匹配。

 

开始符^  每行的开始,只能放在最开始。

结束符$  每行的结束,只能放在最后面。

如果共用开始和结束,开始和结束中间的字符限制了字符的个数。

在做字符串检测的时候常用(还真有这种需求啊喂!)

 

|或的概念

只能匹配|左边的字符集或右边的字符集

使用()时表示|只作用在()的范围内。

|永远将相对长的字符放在左侧。

 

量词:在量词的范围内尽可能多的匹配。

{n}表示左侧的字符重复N

{n,}重复至少n

{n,m}重复nm

?匹配10

+匹配1到多次

*匹配0到多次

 

 

匹配不以0开头的任意整数

[1-9]\d|0

 

匹配小数

\d+\.\d+

 

默认尽可能多匹配

被称为贪婪匹配

 

可以设置尽可能的少匹配

被称为惰性匹配

 

a.*?惰性匹配

a.*?x匹配所有,遇到x立即停止。

posted @ 2019-03-21 15:08  耀眼的黑马甲  阅读(110)  评论(0)    收藏  举报