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

Python 튜플을 인접 쌍 딕셔너리로 변환하는 방법

튜플을 인접한 쌍(adjacent pair) 형태의 딕셔너리로 변환해야 하는 경우, dict 메서드와 딕셔너리 컴프리헨션(dictionary comprehension), 그리고 슬라이싱(slicing)을 활용할 수 있습니다.

딕셔너리는 데이터를 (키, 값) 쌍의 형태로 저장하는 자료구조입니다. 딕셔너리 컴프리헨션은 반복문을 한 줄로 간결하게 표현하여 딕셔너리를 순회하면서 원하는 연산을 수행할 수 있는 축약 문법입니다.

슬라이싱은 이터러블(iterable)에서 지정한 시작 인덱스부터 끝 인덱스까지의 값을 추출하는 기능으로, 단 끝 인덱스에 해당하는 요소는 결과에 포함되지 않습니다.

예제 코드

my_tuple_1 = (7, 8, 3, 4, 3, 2)

print("첫 번째 튜플은 : ")
print(my_tuple_1)

my_result = dict(my_tuple_1[idx : idx + 2] for idx in range(0, len(my_tuple_1), 2))

print("튜플을 변환한 후의 딕셔너리는: ")
print(my_result)

출력 결과

첫 번째 튜플은 :
(7, 8, 3, 4, 3, 2)
튜플을 변환한 후의 딕셔너리는:
{7: 8, 3: 2}

코드 설명

  • 먼저 튜플을 정의하고, 콘솔에 출력합니다.
  • dict 메서드를 사용하여 튜플의 요소를 두 개씩 순회하면서 딕셔너리로 변환합니다. 여기서 range(0, len(my_tuple_1), 2)는 인덱스를 2칸씩 건너뛰며 이동하므로, 각 단계에서 인접한 두 요소가 하나의 (키, 값) 쌍이 됩니다.
  • 변환된 결과는 변수에 할당됩니다.
  • 최종 결과를 콘솔에 출력합니다.

이 방식은 튜플의 길이가 짝수일 때 가장 잘 동작합니다. 만약 튜플 길이가 홀수라면 마지막 요소는 짝이 없어 KeyError가 발생할 수 있으므로, 실무에서는 입력 데이터의 길이를 사전에 검증하는 것이 좋습니다.