python 学习备忘
list列表排序
def listdir(path): #返回一个排序后的目录list
files=os.listdir(path)
files.sort(key=lambda x:str(x[:-4]))
return files
生成一个000-999的字符串list列表
print (list('{:0>3}'.format(str(x)) for x in range(1000)))
in [, , ] True 元素是否存在于列表中 for x in [, , ]: print x, 迭代 L = list(range()) [, , , , ..., ] L[:] #前10个数
L[-:] #后10个数
L[:] #前11-20个数
L[::] #前10个数,每两个取一
L[::] #前10个数,每两个取一个:
[, , , , ]
lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。
>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139
>>> f=lambda x,y:x if x >y else y
>>> f(,)
x in y x在y中 -> True; x不在y中 -> False 复制问题 li1 = li2[:] 深拷贝(等同于 li1 = li2.copy()); 浅拷贝li1 = li2(li1会随li2的变化而变) li1.clear() 清空列表,列表仍存在[]
三元操作符
small = x if x < y else y 相当于:
if x < y:
small = x
else:
small = y
from collections import Counter
collections.Counter(参数)
#参数可以是list、str、tuple、None等等
#作用:统计参数每个元素出现的次数
#返回:一个字典(元素作为key存储,元素出现次数作为value存储) #####例子:
c = Counter('gallahad')
# 输出: Counter({'a': , 'd': , 'g': , 'h': , 'l': }) c.update('adc') # 在原来基础上更新计数(直接修改c)
# 输出: Counter({'a': , 'c': , 'd': , 'g': , 'h': , 'l': }) c.most_common()
# 输出:[('a', ), ('l', ), ('d', ), ('g', ), ('b', ), ('c', ), ('h', )]
# 相当于字典排序:sorted(c.items(), key=lambda asd:asd[], reverse=True)
符号
()小括号 -- 分组 []中括号 -- 字符类,匹配所包含的任一字符 #注:字符集合把【】里面的内容当作普通字符!(-\^除外) {}大括号 -- 限定匹配次数 | 或 r'AC|D' -> AC或AD . 匹配任一字符(\ 除外) \. 匹配字符. ^ 脱字符 匹配输入字符串的开始位置 # r'^AC' 匹配字符串末尾 # r'AC匹配字符串末尾 # r'AC' \b 匹配一个单词的边界 (单词定义为字母,数字,下划线) ;\B 与 \b相反 匹配非单词边界 \d 匹配任一数字[-] ; \D 与 \d相反,[^-] \s 匹配空白字符【\t \n \r \f \v】;\S与\s相反 \w 匹配字母 数字 下划线(中文也可以) 【a-z A-Z - _】; \W与\w相反 * 匹配子表达式0次或多次,等价于 {,} + 匹配子表达式1次或多次,等价于 {, } ? 匹配子表达是0次或1次,等价于{,} 贪婪模式
贪婪模式(python正则表达式中默认使用),尽可能多的去匹配 s = '<html><title>ssss<\html><\title>' re.search(r'<.+>',s)
#输出: '<html><title>ssss<\html><\title>'
启用非贪婪模式 re.search(r'<.+?>', s)
# 输出: <html>
命令
. re.search() 复制代码
s = 'Bo ke yuan' result = re.search(r'(\w+) (\w+)', s)
result.group() # 'Bo ke'
result.group() # 'Bo'; result.group() # 'ke' result.start() # (匹配起始位置)
result.end() # (匹配结束位置)
result.span() #(, ) (匹配范围)
复制代码
. re.findall() 如果给出的正则表达式包含子组,就会把子组的内容单独返回回来。 若包含多个子组,将匹配的内容组合成元组返回 如何让子组不捕获内容? 非捕获组(?:) 把所有出现子组的地方都加 ?: . re.compile() 编译正则表达式 如果你需要重复的使用某个正则表达式,那么你可以先将正则表达式编译成模式对象。 p = re.compile(r'[A-Z]')
p.search('Bo Ke Yuan') # ['B']
p.findall('Bo Ke Yuan') # ['B', 'K', 'Y']
. 参数:argparse
基本用法: 复制代码
import argparse # step1. 导入模块 parser = argparse.ArgumentParser() # step2. 创建参数解析对象 parser.add_argument() # step3. 添加参数
"""位置参数:parser.add_argument("echo", help="参数描述") 必选
可选参数: parser.add_argument("--verbosity", help="参数描述") 可选
""" args = parser.parse_args() # step4. 解析参数
"""位置参数访问:args.echo
可选参数访问:args.verbosity
"""
正则表达式:re
python 学习备忘的更多相关文章
- Android学习备忘笺01Activity
01.设置视图 在Android Studio新建的项目中,通过 setContentView(R.layout.activity_main);方法将res/layout/activity_main. ...
- leaflet 学习备忘
leaflet 开源js地图工具.非常好用. leaflet参考:http://leafletjs.com/ 特性: 完全开源,可以基于不同的第三方瓦片生成地图. 基于原始GPS,无需转换 可创建离线 ...
- 【2018.05.09 Python学习及实践】个人项目中使用的Python库备忘-持续更新
科研中无论是使用C/C++.Python.Matlab,如果能找到合适的库可谓是事半功倍: 有时候忙活半天才发现本身就有成熟的库可用,自己实现的在功能.性能.安全性上都远远不及,虽然锻炼了能力,但存在 ...
- Git学习备忘
本文参考廖雪峰写的精彩的git学习文档,大家可以直接去官网看原版,我这里只是便于自己记录梳理 原版地址:http://www.liaoxuefeng.com/wiki/0013739516305929 ...
- UML学习备忘
两大类UML图: 行为图(behavior diagrams)和结构图(structure diagrams) 行为图将引导系统分析员分析且理清"系统该做些什么"?系统分析 ...
- MVC4 学习备忘
WebConfig文件里添加数据库链接字符: <add name="MovieDBContext(可以自己取字符串名字)" connectionString="Da ...
- 一滴一点vim(学习+备忘)
普通模式: h j k l 分别是左下上右方式移动: :w 保存修改 :q 推出 :wq 保存修改并退出 :q! 放弃修改强制推出 x 删除光标所在位置字符 i 在光标所以位置插入字符 删除类命令: ...
- Python笔记-备忘
一.向列表添加元素 x.append(y) #末尾添加一个元素 x.extend([y,z]) #末尾添加多个元素 x.insert(index,y) 二.向列表获取元素 x[index] 三.从列表 ...
- xml 基础学习备忘
<?xml version="1.0" encoding="UTF-8"? standalone="yes"> 这里的encod ...
随机推荐
- jquery操作select大全详解
每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select&g ...
- Redis的多线程
Redis是单线程内部机制,那么怎么实现并发?在单机上部署多个Redis实例.
- [转]使用Nginx实现反向代理
使用Nginx实现反向代理 解释 正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问 ...
- MySQL数据库函数
一:字符串函数: 1.concat(); concat(S1,S2,S3,......Sn); 把传入参数链接 成一个字符串; 2.insert(); insert(str,x,y,insert); ...
- 用几分钟了解R语言入门知识
第一篇——用几分钟了解R语言入门知识 第二篇——用几分钟了解R语言入门知识(续) 关于数据分析学习笔记的计划(以及目录)
- Mac网络连接问题
场景:同一个网络,其他电脑和手机可以访问远程网络端口为443的网站,如博客园,唯独我的电脑不能访问 解决方法:查看路由器的子网掩码和DNS地址,将IP设置为手动,输入ip.子网掩码和DNS即可
- Class.forName和ClassLoader.loadClass的比较【转载】
Class的装载分了三个阶段,loading,linking和initializing,分别定义在The Java Language Specification的12.2,12.3和12.4.Clas ...
- 最全的CSS浏览器兼容问题http://www.68design.net/Web-Guide/HTMLCSS/37154-1.html
最全的CSS浏览器兼容问题 来源:68design.net 作者:邓飞飞 2008年09月23日 14:17 网友评论:7条 点击:71865 CSS 对浏览器的兼容性有时让人很头疼,或许当你了解当中 ...
- vlc的应用之二:vlc的ActiveX及cab
请移步https://higoge.github.io/,所有下载资料在那个博客都能找到.谢谢. http://jeremiah.blog.51cto.com/ 2009-05-14补充:8. Act ...
- php表达式
表达式是PHP中一个重要的概念,可以把表达式理解为“任何有值的东西”.在本教程中涉及到表达式的语法,我们以“expr”来表示表达式. 下面就是一个表达式: $x > $y; 在上面的例子中,当$ ...