01 2018 档案
摘要:1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,是用来匹配字符串的非常强大的工具,利用正则表达式来提取想要的内容。 正则表达式的大致匹配过程如下 1)依次拿出表达式和文本中的字符比较 2)如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。 3)如果表达式中有量词或边界
阅读全文
摘要:str.split() 单一分隔符,使用str.split()即可 str.split不支持正则及多个切割符号,不感知空格的数量 re.split() 多个分隔符,复杂的分隔情况,使用re.split 原型: re.split(pattern, string, maxsplit=0) 通过正则表达式
阅读全文
摘要:Python正则表达式匹配反斜杠 "\" eg: >>>a='w\w\w' 'w\\w\\w' # 打印出来的 "\\" 被转义成 一个反斜杠 "\" 如果需要匹配字符串a,需要匹配一个反斜杠 "\" >>>re.split(r'\\',a) ['w','w','w',] 先对字符串转义,再进行正则
阅读全文
摘要:现在有多个字典或者映射,想将它们从逻辑上合并为一个单一的映射后执行某些操作,比如查找值或者检查某些键是否存在。eg1: a = {'x': 1, 'z': 3 }b = {'y': 2, 'z': 4 } 在两个字典中执行查找操作(比如先从a 中找,如果找不到再在b中找)。一个非常简单的解决方案就是
阅读全文
摘要:在序列上执行聚集函数(比如sum() , min() , max() ) eg1: >>>nums = [1, 2, 3, 4, 5]>>>s = sum(x * x for x in nums) eg2: >>>import os >>>files=os.listdir('C:\share') >
阅读全文
摘要:os.listdir(): 返回一个列表,此列表包含参数路径下的的文件名或文件夹名。这个列表以字母为顺序。 eg: >>>import os >>>dirs=os.listdir('C:\share') >>>dirs ['a.xls','b.xlsx','New folder']
阅读全文
摘要:问题: 通过下标访问列表或者元组中元素 answer: collections.namedtuple()通过使用元组对象来解决这个问题 这个函数实际上是一个返回Python中标准元组类型子类的一个工厂方法,需要传递一个类型名和字段给它,然后它返回一个类,可以初始化一个类,为定义的字段传递值。 eg1
阅读全文
摘要:问题: 构造一个字典,它是另外一个字典的子集 answer: 最简单的方式是使用字典推导 eg1: 1. >>>prices = {'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.20, 'FB': 10.75} >>>p1 = {ke
阅读全文
摘要:问题: TypeError: 'dict' object is not callable 原因: dict()是python的一个内建函数,如果将dict自定义为一个python字典,在之后想调用dict()函数是会报出“TypeError: 'dict' object is not callabl
阅读全文
摘要:Python中有3种内建的数据结构:列表,元组和字典 1.列表 list是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目。列表中项目应该包括在方括号中,这样python就知道是在指明一个列表。一旦创建了列表,就可以添加,删除,或者搜索。由于可以增加或者删除项目于,所以说列表是可变的
阅读全文
摘要:定义: itertools.compress() 输入: iterable对象 相应的Boolean选择器序列 输出: iterable对象中对应选择器为True的元素 用途: 当需要用另外一个相关联的序列来过滤某个序列的时候,这个函数非常有用 eg: 两个列表如下,其元素相对应,现请根据count
阅读全文
摘要:定义: 列表推导式(list comprehension)是利用其他列表创建新列表的一种方法,其工作方式类似于for循环,对列表进行过滤变种操作 eg1: >>> [x*x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] eg2: >
阅读全文
摘要:问题: 你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列 answer: eg1:列表推导 最简单的过滤序列元素的方法就是使用列表推导。比如:>>> mylist = [1, 4, -5, 10, -7, 2, 3, -1]>>> [n for n in mylist if n >
阅读全文
摘要:Python内建的filter()函数用于过滤序列。 filter()接受一个函数和一个序列,把传入的函数一次作用于每个元素,然后根据返回至是True还是False 决定保留还是丢弃该元素 eg: >>>values=['1','2','-3','-','N/A','5'] >>>def is_in
阅读全文
摘要:setdault用法 >>>dd={'hy':1,'hx':2} >>>cc=dd.setdefault('hz',1) >>>cc 返回1,是新加的健对应的值 >>>dd 返回{'hy':1,'hx':2,'hz':1} >>>cc=dd.setdefault('hz',100) 返回1,不改变原
阅读全文
摘要:eg1: >>>a,b=(1,2,3) Traceback (most recent call last): File "<stdin>",line 1,in <module> ValueError: too many values to unpack (expected 2) 错误原因: 一个tu
阅读全文
摘要:问题:有一个字典或者实例的序列,想根据某个特定的字段比如date 来分组迭代访问。 answer: itertools.groupby函数对于这样的数据分组操作非常实用 eg: rows = [{'address': '5412 N CLARK', 'date': '07/01/2012'},{'a
阅读全文
摘要:问题: 想排序类型相同的对象,但是他们不支持原生的比较操作。 answer: 内置的sorted()函数有一个关键字参数key,可传入一个callable对象给它 这个callabel对象对每个传入的对象返回一个值,这个值被sorted()用来排序这些对象 eg: 1.lambda 函数 有一个Us
阅读全文
摘要:问题:根据某个或某几个字典字段来排序Python列表 answer: 通过使用operator 模块的itemgetter 函数,可以非常容易的排序这样的数据结构 eg: rows = [ {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fn
阅读全文