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.

https://docs.python.org/3/library/itertools.html

Другие вопросы по тегам