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

Python에서 중첩 튜플을 사용자 정의 키를 가진 딕셔너리로 변환하는 방법

중첩 튜플(nested tuple)을 사용자가 원하는 키 구조를 가진 딕셔너리 형태로 변환해야 할 때, 리스트 컴프리헨션(list comprehension)을 활용하면 매우 간결하게 처리할 수 있습니다.


아래 예제를 통해 실제 동작 과정을 살펴보겠습니다.


예제

my_tuple = ((6, 'Will', 13), (2, 'Mark', 15), (9, 'Rob', 12))

print("튜플은 다음과 같습니다 : ")
print(my_tuple)

my_result = [{'key': sub[0], 'value': sub[1], 'id': sub[2]}
    for sub in my_tuple]

print("변환된 딕셔너리는 다음과 같습니다 : ")
print(my_result)

실행 결과

튜플은 다음과 같습니다 :
((6, 'Will', 13), (2, 'Mark', 15), (9, 'Rob', 12))
변환된 딕셔너리는 다음과 같습니다 :
[{'key': 6, 'value': 'Will', 'id': 13}, {'key': 2, 'value': 'Mark', 'id': 15}, {'key': 9, 'value': 'Rob', 'id': 12}]

코드 설명

  • 튜플 안에 여러 개의 튜플이 포함된 중첩 튜플을 정의한 뒤, 이를 콘솔에 출력합니다.

  • 리스트 컴프리헨션을 사용하여 외부 튜플의 각 내부 튜플(sub)을 순서대로 순회합니다.

  • 인덱스(0, 1, 2)를 통해 내부 튜플의 각 위치에 있는 값을 추출하여, 새로운 딕셔너리의 'key', 'value', 'id' 키에 각각 할당합니다.

  • 생성된 딕셔너리들의 리스트를 변수에 저장합니다.

  • 최종 변환 결과를 콘솔에 출력합니다.


핵심 포인트

리스트 컴프리헨션은 반복문과 조건문을 한 줄로 압축하여 표현할 수 있는 Python의 강력한 문법입니다. 위 예제처럼 튜플의 인덱스를 참조해 원하는 키 이름으로 재구성하면, 복잡한 반복문 없이도 데이터 구조를 손쉽게 변환할 수 있습니다. 이러한 기법은 CSV나 데이터베이스에서 읽어온 레코드를 딕셔너리 형태로 가공하는 데이터 전처리 작업에서 특히 유용하게 활용됩니다.