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. 每日宽度间隔为 ...
随机推荐
- HTML&CSS总结
HTML 如果把网页比作房子的话,那么HTML就是搭建房子的整体结构,CSS就是对房子进行装修,HTML主要涉及各种标签的使用,总结如下,需要补充的一点是行内标签与块级标签的区别 inline:在一行 ...
- Jquery触发Change事件
Jquery直接使用val的话不会触发Change事件需要做如下处理$("#"+p_id).val(p_time); $("#"+p_id).change();
- sql插入oracle链接的数据
报错OLE DB 访问接口 "OraOLEDB.Oracle" 返回了消息 "ORA-29275: 部分多字节字符". select addr from tes ...
- [C++]Linux之多进程运行代码框架
声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步- 0.0 多进程代码框架示例 /* @url: ...
- [转] Linux shell判断文件和文件夹是否存在
shell判断文件,目录是否存在或者具有权限 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/acc ...
- eclips运行generatorConfig.xml文件生成代码
描述: 如何通过eclips工具来运行 generatorConfig.xml 文件来自动生成代码并获取数据(类似于mybaits逆向生成)? mybatis-generator:generate 2 ...
- java创建对象 的初始化顺序
java创建对象 的初始化顺序 1.初始化块 初始化块通常写在类的构造方法之前,由花括号括起来,通常包含对成员属性进行初始化的语句: 初始化块分为instance初始化块和static初始化块,初始化 ...
- 【blog】Markdown的css样式推荐
参考博客 分享一款Markdown的css样式:https://www.cnblogs.com/zhangjk1993/p/5442676.html 美化Markdown输出的HTML文档:http: ...
- objectMapper、JsonNode、JsonObject常用方法
一.objectMapper https://blog.csdn.net/han1196639488/article/details/79358743 二.JsonNode.JsonObject常用方 ...
- jquery禁用a标签
jquery禁用a标签方法1 01 02 03 04 05 06 07 08 09 10 11 12 $(document).ready(function () { $("a ...