前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python:itertools模块-g

Python:itertools模块-g

作者头像
py3study
发布2020-01-08 16:05:43
2900
发布2020-01-08 16:05:43
举报
文章被收录于专栏:python3python3python3

groupby(iterable [,key]):

创建一个迭代器,对iterable生成的连续项进行分组,在分组过程中会查找重复项。

如果iterable在多次连续迭代中生成了同一项,则会定义一个组,如果将此函数应用一个分类列表,那么分组将定义该列表中的所有唯一项,key(如果已提供)是一个函数,应用于每一项,如果此函数存在返回值,该值将用于后续项而不是该项本身进行比较,此函数返回的迭代器生成元素(key, group),其中key是分组的键值,group是迭代器,生成组成该组的所有项。

下面是一个例子:

from itertools import groupby
from operator import itemgetter

> things=[('2014-05-21',11),('2014-05-21',3),('2014-05-22',10),('2014-05-22',4),('2014-05-22',22),('2014-05-23',33)]

>>> for key,items in groupby(things,itemgetter(0)):
...   print key
...   for subitem in items:
...     print subitem
...   print '-'*20

显示结果如下:

2014-05-21

('2014-05-21', 11)

('2014-05-21', 3)

--------------------

2014-05-22

('2014-05-22', 10)

('2014-05-22', 4)

('2014-05-22', 22)

--------------------

2014-05-23

('2014-05-23', 33)

--------------------

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档