博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python cookbook 笔记三
阅读量:6722 次
发布时间:2019-06-25

本文共 956 字,大约阅读时间需要 3 分钟。

分组:

rows = [    {'address': '5412 N CLARK', 'date': '07/01/2012'},    {'address': '5148 N CLARK', 'date': '07/04/2012'},    {'address': '5800 E 58TH', 'date': '07/02/2012'},    {'address': '2122 N CLARK', 'date': '07/03/2012'},    {'address': '5645 N RAVENSWOOD', 'date': '07/02/2012'},    {'address': '1060 W ADDISON', 'date': '07/02/2012'},    {'address': '4801 N BROADWAY', 'date': '07/01/2012'},    {'address': '1039 W GRANVILLE', 'date': '07/04/2012'},]from operator import itemgetterfrom itertools import groupby# Sort by the desired field firstrows.sort(key=itemgetter('date'))# Iterate in groupsfor date, items in groupby(rows, key=itemgetter('date')):    print(date)    for i in items:        print(' ', i)

 

groupby() 函数扫描整个序列并且查找连续相同值(或者根据指定 key 函数返回值相同)的元素序列。 在每次迭代的时候,它会返回一个值和一个迭代器对象, 这个迭代器对象可以生成元素值全部等于上面那个值的组中所有对象。

一个非常重要的准备步骤是要根据指定的字段将数据排序。 因为 groupby() 仅仅检查连续的元素,如果事先并没有排序完成的话,分组函数将得不到想要的结果。

转载于:https://www.cnblogs.com/lanqie/p/7596763.html

你可能感兴趣的文章
storm
查看>>
F2C模式,你的电商你做主
查看>>
30分钟入门Oracle sql语句
查看>>
javascript-事件绑定
查看>>
linux磁盘分区命令及操作
查看>>
关于flash播放器不为人知的四大点
查看>>
窗口显示时让字段获得焦点
查看>>
【翻译】如何创建Ext JS暗黑主题之一
查看>>
【拓扑排序】确定比赛名次
查看>>
hibernate(三)基本配置,log4j、JUnit配置
查看>>
屏幕电脑变成了黑白屏模式
查看>>
curl模拟提交
查看>>
一张图看明白云计算架构核心竞争力
查看>>
clip实现圆环进度条
查看>>
Cacti中文版安装配置
查看>>
开始 新征程
查看>>
Ubuntu 14.04 安装 Grub Customizer 4.0.6
查看>>
51CTO推荐博客列表
查看>>
Linux文件系统破坏,导致系统无法启动解决办法
查看>>
一个老外关于mobile跨平台开发的感想
查看>>