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

Python에서 튜플 리스트를 딕셔너리로 변환하는 방법

이 글에서는 Python에서 튜플 리스트를 딕셔너리(dict)로 변환하는 방법을 알아봅니다. 튜플 리스트를 딕셔너리로 변환하는 것은 생각보다 간단하며, 내장 함수만으로도 손쉽게 처리할 수 있습니다.

1. dict() 함수로 간단하게 변환하기

가장 기본적인 방법은 내장 함수인 dict()를 사용하는 것입니다. 아래 단계를 따라 코드를 작성해 보세요.

  • 튜플을 포함하는 리스트를 초기화합니다.
  • dict() 함수를 사용해 튜플 리스트를 딕셔너리로 변환합니다.
  • 결과 딕셔너리를 출력합니다.

예제 코드

# 리스트 초기화
tuples = [('Key 1', 1), ('Key 2', 2), ('Key 3', 3), ('Key 4', 4), ('Key 5', 5)]

# 딕셔너리로 변환
result = dict(tuples)

# 결과 출력
print(result)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

실행 결과

{'Key 1': 1, 'Key 2': 2, 'Key 3': 3, 'Key 4': 4, 'Key 5': 5}

각 튜플의 첫 번째 요소가 키(key), 두 번째 요소가 값(value)으로 매핑되어 딕셔너리가 생성된 것을 확인할 수 있습니다.

2. setdefault() 메서드로 값을 리스트 형태로 저장하기

경우에 따라서는 동일한 키에 여러 개의 값을 저장하고 싶을 수 있습니다. 이럴 때는 setdefault() 메서드를 활용하여 값들을 리스트 형태로 누적할 수 있습니다.

아래 단계를 따라 코드를 작성해 보세요.

  • 튜플을 포함하는 리스트를 초기화합니다.
  • 튜플 리스트를 순회(iterate)합니다.
  • 키에 대한 기본값을 빈 리스트로 설정하고, 값을 추가(append)합니다.
  • 결과를 출력합니다.

예제 코드

# 리스트 초기화
tuples = [('Key 1', 1), ('Key 2', 2), ('Key 3', 3), ('Key 4', 4), ('Key 5', 5)]

# 결과를 담을 빈 딕셔너리
result = {}

# 튜플 리스트 순회
for (key, value) in tuples:
    # 기본값을 빈 리스트([])로 설정
    # 현재 값을 리스트에 추가
    result.setdefault(key, []).append(value)

# 결과 출력
print(result)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

실행 결과

{'Key 1': [1], 'Key 2': [2], 'Key 3': [3], 'Key 4': [4], 'Key 5': [5]}

setdefault(key, [])는 해당 키가 딕셔너리에 존재하지 않으면 두 번째 인자로 전달한 기본값(여기서는 빈 리스트)을 설정하고 반환합니다. 이후 append()를 호출하면 같은 키에 여러 값을 계속 누적할 수 있습니다. 예를 들어 ('Key 1', 10)이라는 튜플이 추가로 있다면 결과는 {'Key 1': [1, 10]}처럼 됩니다.

마무리

지금까지 Python에서 튜플 리스트를 딕셔너리로 변환하는 두 가지 방법, 즉 dict() 함수를 이용한 간단한 변환과 setdefault() 메서드를 이용한 리스트 형태 값 저장 방법을 살펴보았습니다. 상황에 맞게 적절한 방법을 선택하여 사용하시기 바랍니다. 글에 대해 궁금한 점이 있다면 댓글로 남겨주세요.