python itertool.groupby使用误点!
2015-03-13 15:24
281 查看
使用误点一:
误以为 groupby是按照key进行分组的:
例子
结果
F
F:27
F:44
F:52
F:99
F:90
F:20
F:93
F:59
F:42
F:61
F:86
--------------------
M
M:65
M:29
M:63
M:53
M:62
M:74
M:50
M:82
M:72
--------------------
参考:
https://docs.python.org/2/library/itertools.html?highlight=itertools#module-itertools
误以为 groupby是按照key进行分组的:
例子
from random import choice lst = [ Student(choice(['M','F']),choice(range(10,100))) for i in range(20)] for k,items in itertools.groupby(lst,lambda x:x.sex): print k for x in items: print x print "-" * 20
</pre><p></p><p>输出结果:</p>FF:27F:44F:52--------------------MM:65--------------------FF:99--------------------MM:29--------------------FF:90F:20--------------------MM:63--------------------FF:93--------------------MM:53M:62M:74--------------------FF:59--------------------MM:50--------------------FF:42--------------------MM:82M:72--------------------FF:61F:86--------------------<p>从这里可以看出, groupby 的行为表现像uniq一样根据连续值来分组的,因此对想按照分组的key进行排序就可以达到原先的效果了</p><p></p><pre name="code" class="html">lst = sorted(lst,key=lambda x:x.sex) for k,items in itertools.groupby(lst,lambda x:x.sex): print k for x in items: print x print "-" * 20
结果
F
F:27
F:44
F:52
F:99
F:90
F:20
F:93
F:59
F:42
F:61
F:86
--------------------
M
M:65
M:29
M:63
M:53
M:62
M:74
M:50
M:82
M:72
--------------------
参考:
https://docs.python.org/2/library/itertools.html?highlight=itertools#module-itertools
相关文章推荐
- python itertools.groupby
- mysql select * .... group by ..... 语句使用
- python groupby
- 【oracle中】***LISTAGG WITHIN GROUP BY ****方法的使用
- Python 告警 UserWarning: .python-egg is writable by group/others 解决方案
- 【python】DataFrame.groupby()聚合,分组级运算
- Mysql GroupBy 使用注意事项
- MySQL GROUP BY 语句使用总结
- Feature Matching by using opencv(Python)-使用opencv进行图像特征匹配
- python :使用 __getitem__ 和 __iter__ 可以使类成为一个迭代器
- oracle group by中cube和rollup字句的使用方法及区别
- SQL基本语句及其使用方法之【CREATE/SELECT/ALTER/DROP/GROUP BY】
- 使用 GROUP BY WITH ROLLUP 改善统计性能 .
- Django中使用group_by的方法
- Django中使用group_by的方法
- python itertools的使用
- 在Spark中尽量少使用GroupByKey函数
- SQL group by使用
- mysql group by/having/distinct 查询使用例子
- Python Iteration,itertools(Python迭代器,itertool个人总结)