개요
코딩 테스트 문제를 풀다 보면 입력 데이터로 서로 관계가 있는 두 개의 리스트가 주어질 때가 많은데, 이런 케이스는 딕셔너리로 데이터를 묶어서 처리하곤 한다.
이 글에서는 두 리스트 내 원소를 키-값으로 하는 딕셔너리를 만드는 방법을 간단히 정리한다.
예시로,
사고자 하는 물건과 그 수량을 각각 want, number라는 리스트에 저장해 두었다고 하자.
want = ["banana", "apple", "rice", "pork", "pot"]
number = [3, 2, 2, 2, 1]
이 두 리스트를 이용해 물건을 키로 하고 그 수를 값으로 하는 딕셔너리를 만들고자 한다.
딕셔너리 컴프리헨션
딕셔너리 컴프리헨션을 이용하면 아래와 같은 방식으로 만들 수 있다.
want = ["banana", "apple", "rice", "pork", "pot"]
number = [3, 2, 2, 2, 1]
wnt_dict = {w:number[i] for i, w in enumerate(want)}
print(wnt_dict)
zip
zip 함수를 이용해 두 리스트를 튜플로 묶어 딕셔너리로 변환할 수도 있다.
want = ["banana", "apple", "rice", "pork", "pot"]
number = [3, 2, 2, 2, 1]
wnt_dict = dict(zip(want, number))
print(wnt_dict)
참고 문서
https://security-nanglam.tistory.com/427