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. 每日宽度间隔为 ...
随机推荐
- 804. Unique Morse Code Words
Description International Morse Code defines a standard encoding where each letter is mapped to a se ...
- 分享12款 JavaScript 表格控件(DataGrid)
JavaScript 表格控件可以操作大数据集的 HTML 表格,提供各种功能,如分页.排序.过滤以及行编辑.在本文中,我们整理了13个最好的 JavaScript 表格插件分享给开发人员,开发者可以 ...
- 学习 vue 源码 -- 响应式原理
概述 由于刚开始学习 vue 源码,而且水平有限,有理解或表述的不对的地方,还请不吝指教. vue 主要通过 Watcher.Dep 和 Observer 三个类来实现响应式视图.另外还有一个 sch ...
- JS定义函数
一.定义函数的方法 (1)函数声明 (2)函数表达式 二.函数声明方法定义函数 function functionName(arg0, arg1, arg2) { // 函数体 } (1)FireFo ...
- Hibernate使用套路,新手请进
package cn.zhaoqinrong.MainApp; import org.apache.log4j.Logger; import org.hibernate.HibernateExcept ...
- dll和lib的关系(转)
转自http://blog.163.com/zhengjiu_520/blog/static/3559830620093583438464/ 前面有一章说编译与链接的,说得很简略,其实应该放到这一章一 ...
- C# EF框架调用数据库的函数
1.在数据库中创建一个自定义函数: REATE FUNCTION [dbo].[f_IsOriginsDisabled] ( ), @needPPTV bit ) RETURNS bit AS BEG ...
- I/O 流
输入流的几个常用方法: 1,复制一个文件; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...
- PHP面试(二):程序设计、框架基础知识、算法与数据结构、高并发解决方案类
一.程序设计 1.设计功能系统——数据表设计.数据表创建语句.连接数据库的方式.编码能力 二.框架基础知识 1.MVC框架基本原理——原理.常见框架.单一入口的工作原理.模板引擎的理解 2.常见框架的 ...
- 洛谷P2699小浩的幂次运算
二分走一波,没想到题解的大佬做法 p_q 注意爆long long,所以先对数取一下上限 二分确定下限,然后输出 #include<stdio.h> #include<math.h& ...