Группирование записей на основе полей
Функция itertools.groupby()
Функция itertools.groupby()
rows = [#algoritms #itertools #groupby
{'address': 'CLARK', 'date': '07/01/2012'},
{'address': 'CLARK', 'date': '07/04/2012'},
{'address': '58TH', 'date': '07/02/2012'},
{'address': 'CLARK', 'date': '07/03/2012'},
{'address': 'RAVENSWOOD', 'date': '07/02/2012'},
{'address': 'ADDISON', 'date': '07/02/2012'},
{'address': 'BROADWAY', 'date': '07/01/2012'},
{'address': 'GRANVILLE', 'date': '07/04/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)
>>>
07/01/2012
{'date': '07/01/2012', 'address': 'CLARK'}
{'date': '07/01/2012', 'address': 'BROADWAY'}
07/02/2012
{'date': '07/02/2012', 'address': '58TH'}
{'date': '07/02/2012', 'address': 'RAVENSWOOD'}
{'date': '07/02/2012', 'address': 'ADDISON'}
07/03/2012
{'date': '07/03/2012', 'address': 'CLARK'}
07/04/2012
{'date': '07/04/2012', 'address': 'CLARK'}
{'date': '07/04/2012', 'address': 'GRANVILLE'}
https://www.blog.pythonlibrary.org/2021/12/07/a-tour-of-pythons-itertools-library/ - статься о использовании библиотеки itertools
#itertools #iterators
#itertools #iterators
Mouse Vs Python
A Tour of Python's itertools Library - Mouse Vs Python
In this tutorial you will take an extensive tour of Python's itertools modules and learn all about how to use iterators in the process