摘要:
问题 你需要在数据列上执行聚集函数(比如sum(),min(),max(),但是首选你需要转换或者过滤数据 解决方案 一个非常优雅的方式去结合数据计算与转换就是使用一个生成器表达式参数。比如,如果你想计算平方和,可以像下面这样做: nums=[1,2,3,4,5] s=sum(x*x for 阅读全文
posted @ 2022-02-16 17:22
qiupeng
阅读(44)
评论(0)
推荐(0)
摘要:
问题 你有一段通过下标访问列表或者元组中元素的代码,但是这样有时候会使得你的代码难以阅读,于是你想通过名称访问元素。 解决方案 collection.namedtuple()函数通过使用一个普通的元组对象来帮你解决这个问题。这个函数实际上是一个返回python中标准子类的一个工厂方法。你需要 阅读全文
posted @ 2022-02-16 15:50
qiupeng
阅读(30)
评论(0)
推荐(0)
摘要:
问题 你想通过构造一个字典,它是另外又给字典的子集。 解决方案 大多数情况下字典推导能做的,通过创建一个元组序列然后把它传给dict()函数也能实现。比如: prices = { 'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37. 阅读全文
posted @ 2022-02-16 14:48
qiupeng
阅读(30)
评论(0)
推荐(0)
摘要:
问题 你有一个数据序列,想利用一些规则从中提取需要的值或者是缩短序列 解决方案 最简单的过滤序列元素的方法就是使用列表推导式。比如: mylist = [1, 4, -5, 10, -7, 2, 3, -1] print([n for n in mylist if n > 0]) # ->[ 阅读全文
posted @ 2022-02-16 14:21
qiupeng
阅读(84)
评论(0)
推荐(0)
摘要:
问题 你有一个字典或者实例的序列,然后你想根据某个特定的字段比如date来分组迭代访问。 解决方案 itertools.groupby()函数对于这样的数据分组操作非常适用。为了演示,假设及已经有了下列的字典列表: rows =[{'address': '5412 N CLARK', 'da 阅读全文
posted @ 2022-02-16 11:00
qiupeng
阅读(42)
评论(0)
推荐(0)
摘要:
问题 你想排序类型相同的对象,但是他们不支持原生的比较操作。 解决方案 内置的sorted()函数有一个关键参数key,可以传入一个callable对象给它,这个callable对象对每个传入的对象返回一个值,这个值被sorted用来排序这些对象。比如,如果你在应用程序里面有一个User实例 阅读全文
posted @ 2022-02-16 10:17
qiupeng
阅读(38)
评论(0)
推荐(0)
摘要:
问题 你有一个字典列表,你想根据某个或某几个字典字段来排序这个列表。 解决方案 通过使用operator模块的itemgetter函数,可以非常容易的排序这样的数据结构。假设你从数据库中检索出来网站会员信息列表,并且以下数据结构返回: rows = [ {'fname': 'Brian', 阅读全文
posted @ 2022-02-16 09:22
qiupeng
阅读(36)
评论(0)
推荐(0)