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 学习备忘的更多相关文章

  1. Android学习备忘笺01Activity

    01.设置视图 在Android Studio新建的项目中,通过 setContentView(R.layout.activity_main);方法将res/layout/activity_main. ...

  2. leaflet 学习备忘

    leaflet 开源js地图工具.非常好用. leaflet参考:http://leafletjs.com/ 特性: 完全开源,可以基于不同的第三方瓦片生成地图. 基于原始GPS,无需转换 可创建离线 ...

  3. 【2018.05.09 Python学习及实践】个人项目中使用的Python库备忘-持续更新

    科研中无论是使用C/C++.Python.Matlab,如果能找到合适的库可谓是事半功倍: 有时候忙活半天才发现本身就有成熟的库可用,自己实现的在功能.性能.安全性上都远远不及,虽然锻炼了能力,但存在 ...

  4. Git学习备忘

    本文参考廖雪峰写的精彩的git学习文档,大家可以直接去官网看原版,我这里只是便于自己记录梳理 原版地址:http://www.liaoxuefeng.com/wiki/0013739516305929 ...

  5. UML学习备忘

    两大类UML图: 行为图(behavior diagrams)和结构图(structure diagrams)     行为图将引导系统分析员分析且理清"系统该做些什么"?系统分析 ...

  6. MVC4 学习备忘

    WebConfig文件里添加数据库链接字符: <add name="MovieDBContext(可以自己取字符串名字)" connectionString="Da ...

  7. 一滴一点vim(学习+备忘)

    普通模式: h j k l 分别是左下上右方式移动: :w 保存修改 :q 推出 :wq 保存修改并退出 :q! 放弃修改强制推出 x 删除光标所在位置字符 i 在光标所以位置插入字符 删除类命令: ...

  8. Python笔记-备忘

    一.向列表添加元素 x.append(y) #末尾添加一个元素 x.extend([y,z]) #末尾添加多个元素 x.insert(index,y) 二.向列表获取元素 x[index] 三.从列表 ...

  9. xml 基础学习备忘

    <?xml version="1.0" encoding="UTF-8"? standalone="yes"> 这里的encod ...

随机推荐

  1. linux 下git使用教程

    #添加所有新增文件 git add . #提交所有修改,包括删除,添加,修改 git add -A git add --all #查看状态 git status #添加一个文件 git add rea ...

  2. JMeter--使用URL回写来处理用户会话

    如果测试的Web应用系统使用URL回写而非Cookie来保存会话信息,那么测试人员需要做一些额外的工作来测试web站点 为了正确回应URL回写,JMeter需要解析从服务器收到的HTML,并得到唯一的 ...

  3. Angular 4 依赖注入

    一.依赖注入 1. 创建工程 ng new myangular 2. 创建组件 ng g componet product1 3. 创建服务 ng g service shared/product 如 ...

  4. R(6): 数据处理包dplyr

    dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其它数据库的接口,本节学习dplyr包函数基本用法 ...

  5. ES(1): Creat linux VM on Azure

    本章记录在ES集群之前的环境准备工作,主要包含的内容如下: 目录: 创建linux虚拟机 启用root用户 创建linux虚拟机 首先创建一个云服务 按向导创建云服务名称,如下 创建虚拟机, 第二步: ...

  6. 把存储过程SELECT INTO到临时表

    在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种. 一. SELECT INTO1. 使用select into会自动生成临时表,不需要事先创建12 select * into #te ...

  7. Action<T>和Func<T>委托

    Action<T>和Func<T>委托 泛型Action<T>委托和Func<T>委托是系统定义的两个泛型委托. Action<T>委托表示 ...

  8. Django mark_safe

    不用mark_safe: 用mark_safe: 用法: from django.shortcuts import render from django.utils.safestring import ...

  9. linux 信号处理 四 (sigaction参数说明)

    sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作). 他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该 ...

  10. VS2010安装顽疾解决方法:error 25541 failed to open xml file

    一.问题描述 因为之前(2012)对HDFS客户端Thrift接口的库文件封装使用的是VS2010,最近考虑做一个完整的网盘系统的客户端,就把该库文件使用起来,比较悲剧的是之前做过操作系统的还原.我的 ...