摘要: 问题: 你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列 answer: eg1:列表推导 最简单的过滤序列元素的方法就是使用列表推导。比如:>>> mylist = [1, 4, -5, 10, -7, 2, 3, -1]>>> [n for n in mylist if n > 阅读全文
posted @ 2018-01-12 18:14 筱筱的春天 阅读(384) 评论(0) 推荐(0) 编辑
摘要: Python内建的filter()函数用于过滤序列。 filter()接受一个函数和一个序列,把传入的函数一次作用于每个元素,然后根据返回至是True还是False 决定保留还是丢弃该元素 eg: >>>values=['1','2','-3','-','N/A','5'] >>>def is_in 阅读全文
posted @ 2018-01-12 17:49 筱筱的春天 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 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,不改变原 阅读全文
posted @ 2018-01-12 15:29 筱筱的春天 阅读(975) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2018-01-12 14:32 筱筱的春天 阅读(79377) 评论(0) 推荐(0) 编辑
摘要: 问题:有一个字典或者实例的序列,想根据某个特定的字段比如date 来分组迭代访问。 answer: itertools.groupby函数对于这样的数据分组操作非常实用 eg: rows = [{'address': '5412 N CLARK', 'date': '07/01/2012'},{'a 阅读全文
posted @ 2018-01-04 16:30 筱筱的春天 阅读(1712) 评论(0) 推荐(0) 编辑
摘要: 问题: 想排序类型相同的对象,但是他们不支持原生的比较操作。 answer: 内置的sorted()函数有一个关键字参数key,可传入一个callable对象给它 这个callabel对象对每个传入的对象返回一个值,这个值被sorted()用来排序这些对象 eg: 1.lambda 函数 有一个Us 阅读全文
posted @ 2018-01-03 17:37 筱筱的春天 阅读(1777) 评论(0) 推荐(0) 编辑
摘要: 问题:根据某个或某几个字典字段来排序Python列表 answer: 通过使用operator 模块的itemgetter 函数,可以非常容易的排序这样的数据结构 eg: rows = [ {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fn 阅读全文
posted @ 2018-01-03 10:43 筱筱的春天 阅读(15303) 评论(0) 推荐(0) 编辑
摘要: slice: eg: >>>e=[0,1,2,3,4,5,6] >>>s=slice(2,3) >>>e[s] [2] slice的区间左闭右开[) >>>s slice(2,3,None) slice([strar,]stop[,step]),start缺少时就是0 indices: eg: >> 阅读全文
posted @ 2017-12-29 16:53 筱筱的春天 阅读(6543) 评论(0) 推荐(0) 编辑
摘要: 问题:怎样在Python的一个序列上面保持元素顺序的同时消除重复的值?answer:如果序列上的值都是hashable 类型,那么可以很简单的利用集合或者生成器来解决这个问题。 eg1: def dedupe(items): seen = set() for item in items: if it 阅读全文
posted @ 2017-12-26 11:11 筱筱的春天 阅读(2312) 评论(0) 推荐(0) 编辑
摘要: def CreateGenerator(file): with open(file,'r') as t: t.seek(0,2) while True: line=t.readline() if not line: time.sleep(0.1) continue yield line g=Crea 阅读全文
posted @ 2017-12-21 17:59 筱筱的春天 阅读(863) 评论(0) 推荐(0) 编辑