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 ...
随机推荐
- JMeter--使用URL回写来处理用户会话
如果测试的Web应用系统使用URL回写而非Cookie来保存会话信息,那么测试人员需要做一些额外的工作来测试web站点 为了正确回应URL回写,JMeter需要解析从服务器收到的HTML,并得到唯一的 ...
- OpenWrt的web服务器
参考: http://www.szchehang.com/news/10602.html 我们登录的路由器主界面就是通过这个软件指定了80端口来访问的.我们要添加自己额外的网站服务,那只需要重新定义一 ...
- SQL 计算某月有多少天
今天用SQL Server 2005写查询语句,要求计算一个月平均每天发生的金额.以前往往喜欢查询相关的所有列,在代码中进行计算,还没有在SQL中写过. 第一印象就是:要考虑到润年还是平年,再判断是大 ...
- WPF Demo6
通知项熟悉.数据绑定 using System.ComponentModel; namespace Demo6 { /// <summary> /// 通知项属性 /// </sum ...
- JAVA课程设计——多源教学数据管理系统
团队简介 团队名称: 419圣斗士 团队成员 姓名 成员介绍 任务分配 周炳辉(组长) 来自网络的一个大佬,穿女装很合适 poi与servlet 徐宏伟 网络中一个具有强大隐藏实力的大哥 css,部分 ...
- bzoj 4961: 除除除
Description 我们定义一种操作是将一个正整数n(n>1)用某个整数d替换,这个数必须是n的约数(1≤d≤n).给你一个正整数n, 你需要确定操作进行的期望次数,如果我们希望不断地使用这 ...
- shelve的简单使用
shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表.字典.或者用户自定义的类实例保存到she ...
- ES之七:配置文件详解
安装流程 http://www.elasticsearch.org/overview/elkdownloads/下载对应系统的安装包(我下载的是tar的),下载解压以后运行es根目录下bin目录的el ...
- RDD之六:Action算子
本质上在Actions算子中通过SparkContext执行提交作业的runJob操作,触发了RDD DAG的执行. 根据Action算子的输出空间将Action算子进行分类:无输出. HDFS. S ...
- java学习——类之YuanZhu
package hello; import java.util.Scanner; public class YuanZhu { public static void main(String[] arg ...