Python--itertools包--groupby使用分类 python3 itertools

groupby()

将key函数作用于原循环器的各个元素。根据key函数结果,将拥有相同函数结果的元素分到一个新的循环器。每个新的循环器以函数返回结果为标签。

这就好像一群人的身高作为循环器。我们可以使用这样一个key函数:如果身高大于180,返回"tall";如果身高底于160,返回"short";中间的返回"middle"。最终,所有身高将分为三个循环器,即"tall", "short", "middle"。

from itertools import *

def height_class(h):
ifh>180:
Python--itertools包--groupby使用(分类) python3 itertools
return 'tall'
elifh<160:
return 'short'
else:
return 'middle'

friends = [191, 158, 159, 165, 170, 177, 181, 182, 190]

friends = sorted(friends,key = height_class)

for m,n in groupby(friends,key = height_class):
printm
printlist(n)

结果:
middle
[165, 170, 177]
short
[158, 159]
tall
[191, 181, 182, 190]

注意,groupby的功能类似于UNIX中的uniq命令。分组之前需要使用sorted()对原循环器的元素,根据key函数进行排序,让同组元素先在位置上靠拢。

http://www.cnblogs.com/vamei/p/3174796.html

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/132013.html

更多阅读

如何使用大话3新手卡礼包序列号 大话新手礼包序列号

大话3新手卡礼包序列号如何使用,下面我们来详解一下。首先你得有大话3新手卡礼包序列号,没有的话可以到我空间获取。1.打开大话3,输入帐号密码进入游戏2.选择区,接受条款3.创建角色,进入游戏4.点击无限大礼包如何使用大话3新

httpwatch抓包工具的使用方法 铁夹子夹野兔安装图片

httpwatch抓包工具的使用方法——简介火狐浏览器下有著名的httpfox,而HttpWatch则是IE下强大的网页数据分析工具。这个工具到底有哪些具体功能呢?这个我就不再赘述了,百度百科上列的很全面,但也比较抽象。我只想说我曾经用这个工具去分

店铺包邮卡的使用说明 淘宝店铺设置包邮

买家可进入“我的拍拍=》我是买家=》我的优惠卡券=》我的包邮卡”中查看自己已经拥有的店铺包邮卡。使用说明:1、每一张包邮卡只能在所属的店铺内使用;2、使用包邮卡需满足使用规则(如单笔订单满100元)才能使用;3、有效日期内不限使用

Eclipse使用:2 Eclipse安装中文语言包

Eclipse使用:[2]Eclipse安装中文语言包——简介下载的Eclipse默认都是英文的,对于不熟悉英文的人用起来就比较麻烦点。本经验介绍安装Eclipse中文包。语言包是Eclipse提供的Babel Language Packs。Eclipse使用:[2]Eclipse安装中文语言

声明:《Python--itertools包--groupby使用分类 python3 itertools》为网友只当梦醒分享!如侵犯到您的合法权益请联系我们删除