Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)에서 튜플을 n개 그룹으로 분할하는 방법

튜플(tuple)을 'n'개의 그룹으로 분할해야 할 때는 리스트 컴프리헨션(list comprehension) 문법을 활용하면 간단하게 처리할 수 있습니다.

튜플은 파이썬의 대표적인 불변(immutable) 자료형입니다. 즉, 한 번 정의된 값은 인덱스로 접근하더라도 변경할 수 없으며, 요소를 수정하려고 시도하면 오류가 발생합니다. 이러한 특성 덕분에 튜플은 데이터를 읽기 전용으로 안전하게 보관해야 하는 경우에 매우 유용하게 사용됩니다.

리스트 컴프리헨션은 시퀀스를 반복(iteration)하면서 원하는 연산을 수행할 수 있게 해주는 축약형 문법입니다. 반복문보다 코드가 간결해지고 가독성이 높아진다는 장점이 있습니다.

다음은 튜플을 3개씩 묶어 여러 그룹으로 나누는 예제입니다.

예제

my_tuple = (12, 34, 32, 41, 56, 78, 9, 0, 87, 53, 12, 45, 12, 6)

print("The tuple is : ")
print(my_tuple)

my_result = tuple(my_tuple[x:x + 3]
    for x in range(0, len(my_tuple), 3))

print("The resultant tuple is : ")
print(my_result)

출력 결과

The tuple is :
(12, 34, 32, 41, 56, 78, 9, 0, 87, 53, 12, 45, 12, 6)
The resultant tuple is :
((12, 34, 32), (41, 56, 78), (9, 0, 87), (53, 12, 45), (12, 6))

코드 설명

  • 먼저 튜플을 하나 정의하고, 콘솔에 출력하여 내용을 확인합니다.
  • range(0, len(my_tuple), 3) 함수를 사용해 시작 인덱스부터 3칸씩 건너뛰며 인덱스 값을 생성합니다.
  • 슬라이싱(x : x + 3)을 통해 각 인덱스 위치에서 3개의 요소를 잘라내어 새로운 하위 튜플로 묶습니다.
  • tuple() 함수와 제너레이터 표현식을 조합해 전체 결과를 하나의 튜플로 변환합니다.
  • 연산 결과는 my_result 변수에 저장되며, 최종적으로 콘솔에 출력됩니다.

참고로, 튜플의 길이가 그룹 크기인 3으로 나누어떨어지지 않으면 마지막 그룹에는 남은 요소들만 포함됩니다. 위 예제에서도 마지막 그룹이 (12, 6)처럼 두 개의 요소만 가지는 것을 확인할 수 있습니다. 이 방식은 그룹 크기를 나타내는 숫자만 바꾸면 임의의 'n'개 단위로 손쉽게 확장할 수 있습니다.