
무작위 리스트에서 지정한 범위로 아이템 그룹화하는 방법
2024년 10월 16일
다이나모에서 리스트를 다루다 보면, 특정 조건에 맞는 아이템들을 골라 그룹화해야 할 때가 있습니다. 이번 포스팅에서는 무작위로 배열된 리스트에서 일정한 범위에 속하는 아이템들만 추출해 그룹화하는 방법을 소개하겠습니다.
1. 예제 리스트
다음과 같은 리스트를 예시로 들어보겠습니다:

예시 리스트 : List = [0, 1500, 100, 110, 200, 3000, 3500, 5000, 7800, 9000, 15000, 7700]
우리는 이 리스트에서 각 항목을 아래 조건에 맞게 그룹핑하고 싶다고 가정해 보도록 하겠습니다:
- 0 < List ≤ 2000
- 2000 < List ≤ 5000
- 5000 < List ≤ 8000
- 8000 < List ≤ 15000
2. 범위 조건에 따른 그룹화
리스트의 각 항목을 비교해서 위 조건에 맞는 범위 내의 값들만 선택하고, 이를 그룹화할 수 있습니다. 이를 위해 다이나모에서 >
와 <=
노드를 사용하여 각 범위 조건을 설정합니다.

범위 조건 적용 방법:
>
노드와<=
노드를 이용해 각 아이템이 원하는 범위에 포함되는지 여부를 판별합니다.- 조건을 전부 비교하기 위해 > 노드와 <=노드는 레이싱 옵션을 Cross Product Lacing 으로 설정합니다.
- 그룹별 인덱스를 통해 그룹핑 합니다.
이 방법은 예를 들어 Z값이나 다른 특정 속성을 기준으로 객체들을 범위에 따라 분류하는 데 유용합니다.
3. 일정한 규칙에 따른 그룹화
이번에는 범위가 일정한 간격으로 증가하는 경우를 다뤄보겠습니다. 예를 들어, 각 항목을 3000 단위로 분류하고 싶다면, 다이나모에서 /
노드와 List.GroupByKey
노드를 활용할 수 있습니다.

그룹화 규칙 적용 방법:
- 리스트의 각 아이템을 3000으로 나누어 그 몫을 그룹의 기준(Key)으로 사용합니다.
- 이를 통해 동일한 범위에 속하는 값들을 하나의 그룹으로 묶을 수 있습니다.
예시 리스트: List = [0, 1500, 100, 110, 200, 3000, 3500, 5000, 7800, 9000, 11000, 7700]
여기서 각 아이템을 3000으로 나누고, 몫에 따라 아래와 같이 그룹화할 수 있습니다:
- 0 <= List < 3000
- 3000 <= List < 6000
- 6000 <= List < 9000
- 9000 <= List < 12000
이를 통해 리스트를 규칙에 따라 자동으로 그룹화할 수 있습니다.
4. 정리
- 지정한 범위로 그룹화: 조건에 따라 리스트의 각 아이템을 그룹핑하는 방법은 특정 범위 내의 항목을 분류할 때 유용합니다. 다이나모의
>
와<=
노드를 활용하여 범위 조건을 지정할 수 있습니다. - 일정한 간격으로 그룹화: 리스트의 항목을 일정한 규칙으로 분류하려면
/
노드와List.GroupByKey
노드를 활용해 각 아이템을 특정 기준(몫)에 따라 그룹화할 수 있습니다.
위 방법들을 이용해, 리스트 내의 데이터를 효과적으로 그룹핑하고 정리할 수 있습니다. 상황에 맞는 방식을 선택하여 데이터를 보다 쉽게 관리해 보세요!
← 이전 글
다음 글 →
답글 남기기
댓글을 남기려면 로그인 해야 합니다.