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. 每日宽度间隔为 ...
随机推荐
- 三.HashMap原理及实现学习总结
HashMap是Java中最常用的集合类框架之一,是Java语言中非常典型的数据结构.本篇主要是从HashMap的工作原理,数据结构分析,HashMap存储和读取几个方面对其进行学习总结.关于Hash ...
- Sqlserver脚本创建登录名密码
use table1 GO ', default_database=table1; GO create user abc for login abc with default_schema=dbo; ...
- ffmpeg安装
使用 yum 安装nux-dextop 源. 下载:wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0- ...
- [译]Debug ASP.NET Core 2.0源代码
原文 首先你的VS必须为VS 2017 15.3或以上版本. 打开你的Startup类,在ConfigureServices方法上设置个断点,按F5 Debug应用. 在Call Stack(调用堆栈 ...
- Javascript面向对象特性实现封装、继承、接口详细案例
Javascript面向对象特性实现(封装.继承.接口) Javascript作为弱类型语言,和Java.php等服务端脚本语言相比,拥有极强的灵活性.对于小型的web需求,在编写javascript ...
- 第27月第28天 iOS bundle
1. 7.如果将自己打包的bundle给别人使用,别人在打包上传过程中可能会遇到错误提示如: ERROR ITMS-90171: "Invalid Bundle Structure - Th ...
- Java基础_0309:this关键字
this简介 在Java中this可以完成三件事情:表示本类属性.表示本类方法.当前对象(只是先介绍概念) 调用本类属性 在一个类中定义的方法中可以直接访问类中的属性,但是很多时候有可能会出现方法参数 ...
- LOJ #2183「SDOI2015」序列统计
有好多好玩的知识点 LOJ 题意:在集合中选$ n$个元素(可重复选)使得乘积模$ m$为$ x$,求方案数对$ 1004535809$取模 $ n<=10^9,m<=8000且是质数,集 ...
- css哪些属性可以继承
不可继承的:display.margin.border.padding.background.height.min-height.max- height.width.min-width.max-wid ...
- Centos 03 基础命令
切换目录 cd ~ 切换到当前用户的家目录 cd - 切换到上一次的目录 上传与下载 支持包在Dial-up Networking Support选项里,没有装可以通过 1.yum install l ...