개요
파이썬에서 튜플을 딕셔너리의 키로 연결해야 하는 경우, join() 메서드와 반복문을 활용하면 간단하게 처리할 수 있습니다. 문자열 요소들로 구성된 튜플을 공백을 기준으로 하나의 문자열로 결합하여 딕셔너리의 키로 사용하는 방법을 예제와 함께 살펴보겠습니다.
예제
아래는 튜플을 딕셔너리 키에 연결하는 과정을 보여주는 예제입니다.
my_list = [(("pyt", "is", "best"), 10), (("pyt", "cool"), 1), (("pyt", "is", "fun"), 15)]
print("The list is :")
print(my_list)
my_result = {}
for sub_list in my_list:
my_result[" ".join(sub_list[0])] = sub_list[1]
print("The result is :")
print(my_result)출력 결과
The list is :
[(('pyt', 'is', 'best'), 10), (('pyt', 'cool'), 1), (('pyt', 'is', 'fun'), 15)]
The result is :
{'pyt is best': 10, 'pyt cool': 1, 'pyt is fun': 15}코드 설명
튜플과 정수 값을 요소로 가지는 리스트를 정의한 뒤 콘솔에 출력합니다.
결과를 저장할 빈 딕셔너리
my_result를 생성합니다.for반복문으로 리스트를 순회하면서, 각 요소의 첫 번째 부분인 문자열 튜플에" ".join()을 적용해 공백으로 구분된 하나의 문자열로 만듭니다.이렇게 생성된 문자열이 딕셔너리의 키가 되고, 해당 튜플의 두 번째 요소인 정수 값이 그 키의 값으로 저장됩니다.
최종적으로 완성된 딕셔너리를 콘솔에 출력합니다.
딕셔너리 컴프리헨션으로 더 간결하게
위 코드는 딕셔너리 컴프리헨션을 사용하면 한 줄로도 작성할 수 있습니다.
my_result = {" ".join(sub[0]): sub[1] for sub in my_list}두 방식 모두 동일한 결과를 반환하지만, 컴프리헨션을 활용하면 코드가 더 짧고 파이썬다운 스타일이 됩니다. 상황에 따라 가독성이 좋은 방식을 선택하면 됩니다.