python学习第16天。
内置函数是在原本已经有的序列的基础上,再生成新的。
List的方是修改原列表。
内置函数中大部分函数的返回值大部分都是迭代器、生成器。
Sorted需要遍历操作,不是单纯的迭代,所以不生成迭代器。
一般情况下不在函数中使用input和print
双端队列和列表的区别,
不表现在
表现在效率和底层的数据结构上。
列表和双端队列的应用场景。
插入和删除比较频繁时用双端队列
如果查询和只用append和pop不加参数,用列表更好。
Re
一个中括号代表一个字符组,中间加[-]代表范围。
字符组[]描述的是一个字符位置上的内容规则。
字符组内所有的范围都是根据ASCII的顺序。
匹配的范围要根据ascii表的顺序,不可逆序匹配。
大写[A-Z]
小写[a-z]
大小写[A-Za-z],中间不需要添加符号
在字符组中,有一些字符是有特殊意义的。需要用\转义符。
- 代表范围
[0-9] \d(digit)匹配任意一个数字
[A-Za-z0-9_] \w数字字母下划线
\n匹配回车,换行符
\t 匹配制表符
空格就匹配空格
\s 匹配所有空白
(任意字符)\b 匹配该字符集是否在末尾是否在边界。
反义词
\W 除数字字母下划线之外的所有
\D 除数字外的所有
\S 除空白外的所有
.匹配换行符之外的所有字符
什么都拿出来的数据叫脏数据
匹配出精确的数据叫数据的清洗。
匹配所有:[\D\d] [\W\w] [\S\s]
非字符组:[^]只要布置字符组中的字符其他的都匹配。
开始符^ 每行的开始,只能放在最开始。
结束符$ 每行的结束,只能放在最后面。
如果共用开始和结束,开始和结束中间的字符限制了字符的个数。
在做字符串检测的时候常用(还真有这种需求啊喂!)
|或的概念
只能匹配|左边的字符集或右边的字符集
使用()时表示|只作用在()的范围内。
|永远将相对长的字符放在左侧。
量词:在量词的范围内尽可能多的匹配。
{n}表示左侧的字符重复N次
{n,}重复至少n次
{n,m}重复n到m次
?匹配1到0次
+匹配1到多次
*匹配0到多次
匹配不以0开头的任意整数
[1-9]\d|0
匹配小数
\d+\.\d+
默认尽可能多匹配
被称为贪婪匹配
可以设置尽可能的少匹配
被称为惰性匹配
a.*?惰性匹配
a.*?x匹配所有,遇到x立即停止。
python学习第16天。的更多相关文章
- Python 学习 第16篇:数据类型(字典和Json)
字典是键/值对构成的集合,字典通过大括号来创建,字典的键是字符串,而值可以是任何数据对象. 字典有两个重要的特征: 字典是无序的,字典项没有特定的顺序,只能通过键来获取值: 字典是可变的,支持原处修改 ...
- Python学习(16)File(文件)方法
Python File(文件) 方法 file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 序号 方法及描述 1 file.close() 关闭文件.关闭后文件不能再进行读 ...
- Python学习笔记16—电子表格
openpyl 模块是解决 Microsoft Excel 2007/2010 之类版本中扩展名是 Excel 2010 xlsx/xlsm/xltx/xltm 的文件的读写的第三方库. 安装 pip ...
- python学习笔记16(错误、异常)
一.什么是错误,什么是异常 错误是指在执行代码过程中发生的事件,它中断或干扰代码的正常流程并创建异常对象.当错误中断流程时,该程序将尝试寻找异常处理程序(一段告诉程序如何对错误做出响应的代码),以帮助 ...
- Python学习笔记16:标准库多线程(threading包裹)
Python主要是通过标准库threading包来实现多线程. 今天,互联网时代,所有的server您将收到大量请求. server要利用多线程的方式的优势来处理这些请求,为了改善网络port读写效率 ...
- 从零开始的Python学习Episode 16——模块
一.模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相 ...
- Python学习:16.Python面对对象(三、反射,构造方法,静态字段,静态方法)
一.构造方法 在使用类创建对象的时候(就是类后面加括号)就自动执行__init__方法. class A: def __init__(self): print('A') class B: def __ ...
- Python 学习笔记16 类 - 导入
我们在编码的过程中,可能会给对象添加越来越多的功能,即使我们使用了继承,也不可避免的使文件越来越臃肿. 为了避免这种情况, Python允许将对象存储在模块中,并且可以在其他模块中进行导入. 其实这和 ...
- Python学习总结16:时间模块datetime & time & calendar (三)
calendar模块 常见函数及说明 1 calendar.calendar(year,w=2,l=1,c=6) 返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c. 每日宽度间隔为 ...
随机推荐
- 记一次解决非法参数DDoS攻击的实践
起因 线上项目突然遭到大量的非法参数攻击,由于历史问题,之前的代码从未对请求参数进行校验. 导致大量请求落到了数据访问层,给应用服务器和数据库都带来了很大压力. 针对这个问题,只能对请求真正到Cont ...
- tomcat解决GET请求中文参数乱码
通常,在使用Spring MVC框架的应用程序中,为了解决中文参数乱码的问题,都会添加如下过滤器配置: <filter> <filter-name>encodingFilter ...
- 关于MySQL数据库——增删改查语句集锦
一.基本的sql语句 CRUD操作:create 创建(添加)read 读取update 修改delete 删除 1.添加数据insert into Info values('p009','张三',1 ...
- [C++]PAT乙级1011. A+B和C (15/15)
/* 1011. A+B和C (15) 给定区间[-2^31, 2^31]内的3个整数A.B和C,请判断A+B是否大于C. 输入格式: 输入第1行给出正整数T(<=10),是测试用例的个数.随后 ...
- [C++]PAT乙级1002.写出这个数(20/20)
/* 1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10^100. ...
- 关于"Linux下使用Windows应用程序的尝试"总结
首推 Flatpak .Flatpak爽啊,命令行启动能不爽吗!? 其他的: 0. AppImage:AppImage试了下,唉,启动TIM时就没反应,其他的应用没试过 1. crossover:收费 ...
- 腾讯的h5制作工具教程
http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/
- 第20月第14天 objc_getAssociatedObject _cmd
1. - (CustomNavigationControllerDelegate *)customDelegate { return objc_getAssociatedObject(self, _c ...
- LOJ #6268 分拆数
不会五边形数的菜鸡的分块乱搞 LOJ #6268 题意 求前$ n$个数的整数划分方案数,$ n \leq 10^5$ $ Solution$ 考虑暴力$ DP$ $ f(x,y)$表示放了$ x$个 ...
- hadoop-1.2.1集群搭建
继续上一篇:http://www.cnblogs.com/CoolJayson/p/7430654.html 首先需要安装上台虚拟机, 分别为: master, salve1, slave2 1.复制 ...