group_by возвращает дубликаты ключей
Python 3.6 У меня есть простой список объектов:
for obj in obj_ts:
print(obj['address'])
Это показывает мне:
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mhRhCZBUP1BsrL6xuXSeAeCNnXcoBHWKAB
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
Затем я хочу сгруппировать по этим объектам:
for address, t_list in itertools.groupby(obj_ts, key=lambda obj: obj['address']):
print(address)
Но я получаю 3 группы вместо 2.
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mhRhCZBUP1BsrL6xuXSeAeCNnXcoBHWKAB
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
1 ответ
Решение
Решение из комментариев:
Как упомянуто в 1-м абзаце документов groupby, вам необходимо отсортировать данные (с помощью той же ключевой функции), прежде чем передавать их в groupby.