python将值相同的key分组的⽅法
⽅法⼀:
groupby分组使⽤ upby()
rows = [
{'address': '5412 N CLARK ', 'date ': '07/12/2012 ’ },
{'address': '5148 N CLARK ', 'date ’: '07/04/2012 ’ },
{'address': '5800 E 58TH ’, 'date ’: '07 /12/2012 ’ },
]
from operator import itemgetter
from itertools import groupby
rows.sort(key=itemgetter('date'))
for date, items in groupby(rows, key=itemgetter('date')):
print(date)
for i in items:
print('', i)
在这⾥重要的是要先根据感兴趣的字段对数据进⾏排序。因为 groupby 只能检查连续的项,不⾸先排序的话,将⽆法按所想的⽅式来记录分组。
⽅法⼆:
from collections import defaultdict
rows_by_date = defaultdict(list)
for row in rows:
rows_by_date[row['date']].append(row)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论