Python
python入门到实践
没名字的菜狗子
这个作者很懒,什么都没留下…
展开
-
笔记——对字典中值的特定字段进行排序
处理一个带有如下信息的字典排序原创 2022-06-18 11:14:35 · 188 阅读 · 0 评论 -
Python入门练习
Python入门目录Python入门字符串转义字符原始字符串多行字符串多行注释下标和切片字符串存在检测常用方法列表定义:[]表示,以逗号分隔元素示例:fruit = ["apple","banana","pear"]访问:通过索引访问;操作元组定义如果只有一个元素,则需要在第一个元素后面使用一个逗号(,)指明这是一个元组类型字典定义创建字典添加键值对修改字典元素值删除字典元素遍历字典检查字典中是否存在键或值嵌套漂亮打印字典键值对模式匹配&正则表达式常见字符分类正则表达式查找文本模式正则表达式匹配更原创 2021-09-13 16:23:24 · 612 阅读 · 0 评论 -
.*匹配所有字符
如果需要匹配特定字符串:’First Name:’+任意文本+‘Last Name:’+任意文本,就可以使用 .* 来匹配任意文本。其中 . 表示匹配单个字符,* 表示前面的字符匹配任意次数。代码示例:>>> import re>>> testReg = re.compile(r'First Name: (.*) Last Name: (.*)')>>> test = testReg.search('First Name: Jerry Last原创 2021-02-01 13:44:18 · 608 阅读 · 0 评论 -
通配字符
. 字符称为通配符,匹配除了换行之外的所有字符。注意:通配符只能匹配一个字符,即 . 只能表示一个字符。示例代码:>>> import re>>> testReg = re.compile(r'.at')>>> test = testReg.findall('A test for cat sat on the flat mat.att')>>> test['cat', 'sat', 'lat', 'mat', '.at']原创 2021-02-01 13:24:28 · 330 阅读 · 0 评论 -
插入字符和美元字符
‘^test’ 表示匹配以test开始的字符串‘\d$’ 表示匹配以数字结尾的字符串示例代码:# 插入字符 ^>>> import re>>> testReg = re.compile(r'^test')>>> test = testReg.search('test message end with 123')>>> test<re.Match object; span=(0, 4), match='test'&g原创 2021-02-01 13:13:49 · 109 阅读 · 0 评论 -
创建自定义字符分类
有时候需要匹配一组特殊需求的字符,可以使用 [ ] 定义。例如:① 字符 [aeiouAEIOU] 将匹配所有的元音字符,包括大小写>>> import re>>> testReg = re.compile(r'[aeiouAEIOU]')>>> test = testReg.findall('A test message !')>>> test['A', 'e', 'e', 'a', 'e']>>>原创 2021-02-01 13:05:20 · 179 阅读 · 0 评论 -
字符分类
常用字符分类的缩写编码:缩写字符分类表示\d0-9的任何数字\D数字0-9以外的任何字符\w任何字母、数字或下划线\W除字母、数字和下划线以外的任何字符\s空格、制表符或换行符\S除空格、制表符和换行符以外的任何字符示例:匹配包含一个数字空格加字母的字符串,形如’1 apples‘\d+\s\w+示例代码:>>> testReg = re.compile(r'\d+\s\w+')>>> test原创 2021-02-01 12:34:36 · 740 阅读 · 0 评论 -
贪心和非贪心匹配
在字符串匹配中,(test){2,5} 可以匹配2,3,4或5个test实例,如果要匹配的字符串为: testtesttsettesttest ,那么Match对象的group()调用会返回5个test的实例,这是因为python正则表达式默认是 贪心 的,表示在有多个匹配结果时,尽可能匹配最长的字符串。如果要使用非贪心的匹配模式,则需要在表达式的 {} 后添加 ? ,形如:(test){2,5}?示例代码:# 贪心(默认)匹配>>> import re>>> t原创 2021-02-01 11:31:24 · 192 阅读 · 0 评论 -
正则表达式-模式匹配
模式匹配利用 () 分组利用 | 匹配多个分组利用 ? 实现可选匹配利用 * 匹配 0 次或多次利用 + 匹配 1 次或多次利用 {} 匹配特定次数利用 () 分组假定需要对区号进行分离,添加()可以实现分组:(\d\d\d)-(\d\d\d)-(\d\d\d\d),使用 group() 方法从分组中匹配文本。向 group() 传入整数参数,参数介绍:①传入 0 或 不传入参数 : 返回整个匹配文本②传入 1 获取第1组,传入 2 获取第2组,传入 3 获取第3组另外,使用 groups()原创 2021-02-01 11:09:52 · 290 阅读 · 0 评论 -
正则表达式-查找文本模式
创建正则表达式对象import re # 导入re模块,使用正则表达式相关函数# 一个测试正则表达式,匹配形如:123-456-7899 格式的电话号码# 其中r表示传入原始字符串,\d表示匹配一位数字(0-9),{3}表示匹配此模式3次testReg = re.compile(r'\d{3}-\d{3}-\d{4}')re.compile() 传入一个字符串值,表示正则表达式,返回一个regex模式对象。匹配Regex对象# 利用Regex对象的search()方法查找传入的字符串,原创 2021-01-27 19:00:39 · 147 阅读 · 0 评论 -
python idle 清屏拓展
添加 python idle 清屏功能拓展"""Clear Window ExtensionIt provides "Clear Shell Window" under "Options"Add these lines to config-extensions.def[ClearWindow]enable=1enable_editor=0enable_shell=1[ClearWindow_cfgBindings]clear-window=<Control-Key-l>原创 2021-01-24 16:38:55 · 152 阅读 · 0 评论 -
4.3.4 列表解析
列表解析只需一行代码就可生成列表,将for循环语句和创建新元素代码合并并自动附加新元素,十分方便。示例代码:squares = [value for value in range(1,11)] # 将1-10的数字生成列表squaressquares2 = [value ** 2 for value in range(1,11)] # 将1-10的数的平方生成列表squares2打印结...原创 2020-01-12 11:38:55 · 112 阅读 · 0 评论