본문 바로가기
관리자

Programming-[Backend]/Python

파이썬 itertools.groupby 주의사항. 키가 연속으로 붙어있어야함

728x90
반응형


조회해온 객체를 같은 키값을 가진 것끼리 묶어서 그루핑하고 로직을 처리할려고 파이썬의 itertools.groupby를 사용

 

grouped_students = groupby(students, key=lambda x: (x.school, x.grade))

 

학생들을 학교, 학년별로 묶음


그런데 잘 작동하지 않아 확인해보니,

itertools의 groupby는 순회하면서 하나씩 비교하기 때문에 key값이 같은 요소들끼리 연속적으로 붙어있어야 정상 동작

 

sorted(students, key=lambda x: (x.school, x.grade))

 

로 먼저 정렬 후 groupby를 적용해야함

728x90
반응형