리스트에서 Index가 짝수인 리스트와 홀수인 리스트 분리하기
2024년 10월 16일
1. Code Block을 활용한 짝수/홀수 인덱스 분리
리스트를 관리하다 보면 인덱스가 짝수인 것과 홀수인 것을 분리해야 할 때가 있습니다. 분리하는 방법은 여러가지가 있지만 개인적으로는 코드 블록을 쓰는 것이 편해서 코드 블록을 자주 사용하고 있습니다. 코드 블록을 사용하면 직접적으로 리스트의 항목을 다룰 수 있습니다.
사용 방법
List.Count
노드로 리스트의 전체 항목 수를 구합니다.- Code Block을 이용해 짝수 인덱스와 홀수 인덱스를 생성합니다.
- 리스트를
List.GetItemAtIndex
노드에 연결하면, 짝수와 홀수 항목을 쉽게 분리할 수 있습니다.
코드 블록을 사용해서 범위 생성하는 방법에 대해 더 알아보고 싶다면 “여기”를 클릭하여 참고하시기 바랍니다.
2. TakeEveryNthItem 노드를 사용한 분리
다른 방법으로는 TakeEveryNthItem
노드를 사용해서 리스트에서 N번째 항목을 추출할 수 있습니다.
사용 방법
- 간격인 n 값에 2를 입력하여 짝수, 홀수를 구분합니다.
- Offset = 1:
- 간격의 시작점이 1번 인덱스부터 시작하고 1번 인덱스를 포함해서 2간격으로 리스트가 선택 되기 때문에 2,4,6,8,… 번 인덱스가 선택됩니다.
- 마지막까지 계산이 끝나면 리스트는 처음으로 돌아가서, 다시 1번 간격으로 계산을 이어갑니다. 그렇기 때문에 0번 인덱스가 다시 포함됩니다. 리스트가 ‘래핑(wrapping)’되는 과정입니다.
- 결과: 짝수 인덱스의 데이터를 반환함. 예를 들어: [A, C, E, G, …]
- Offset = 0:
- 오프셋 없이 0번 인덱스에서 시작하고 0번 인덱스를 포함해서 2간격으로 리스트가 선택 되기 때문에 1, 3, 5, 7, 9, … 번 인덱스가 선택됩니다.
- 결과: 홀수 인덱스의 데이터를 반환함. 예를 들어: [ B, D, F, H, …]
3. DropEveryNthItem 노드를 사용한 분리
DropEveryNthItem
노드는 TakeEveryNthItem
과 반대 개념입니다. 특정 인덱스 항목을 제거하고 남은 리스트를 반환합니다.
사용 방법
- 간격인 n 값에 2를 입력하여 분리합니다
- Offset = 1:
- 간격의 시작점이 1번 인덱스부터 시작하고 1번 인덱스를 포함해서 2간격으로 리스트가 선택 되기 때문에 2,4,6,8,… 번 인덱스가 제거됩니다.
- 마지막까지 계산이 끝나면 리스트는 처음으로 돌아가서, 다시 1 까지 계산을 이어갑니다. 그렇기 때문에 0번 인덱스가 제거됩니다. 리스트가 ‘래핑(wrapping)’되는 과정입니다.
- 결과: 짝수 인덱스의 데이터를 반환함. 예를 들어: [ B, D, F, H, …]
- Offset = 0:
- 간격의 시작점이 0번 인덱스부터 시작하고 0번 인덱스를 포함해서 2간격으로 리스트가 선택 되기 때문에 1,3,5,7,… 번 인덱스가 제거됩니다.
- 결과: 짝수 인덱스의 데이터를 반환함. 예를 들어: [A, C, E, G, …]
4.정리
TakeEveryNthItem
과 DropEveryNthItem
노드는 같은 입력값을 사용하지만, 서로 다른 방식으로 리스트를 처리합니다. 상황에 맞는 방법을 선택하여 리스트를 분리해보세요!
← 이전 글
다음 글 →
답글 남기기
댓글을 남기려면 로그인 해야 합니다.