WjExplor Story

두 리스트를 이용해 딕셔너리 생성 본문

Python/Python : Code Study

두 리스트를 이용해 딕셔너리 생성

더블유제이플로어 2025. 9. 25. 23:53
리스트 두 개를 이용하여 딕셔너리를 만드세요.
keys = ["name", "age", "city"]
values = ["Tom", 20, "Seoul"]

처음에 내가 작성한 코드

dict_val= {}
for item in keys: # item 은 "name", "age", "city" 와 같은 문자열
  dict_val={keys[item],values[item]} # 오류 발생
print(dict_val)

오류 코드

  1. key[item] 에서 TypeError 발생
  2. {key[item], values[item]} 는 딕셔너리가 아닌 세트(set) 이다.

파이썬스럽고 간결한 방법은 zip() 함수와 dict() 생성자를 함께 사용하는 것이다.

1. zip() 함수로 두 리스트의 요소를 짝지어 튜플로 만든다.

zip(keys, value) 결과 :
[('name', 'Tom'), ('age', 20), ('city', 'Seoul')]

2. dict() 생성자에 짝지어진 튜플을 전달하여 딕셔너리를 만든다.

keys = ["name", "age", "city"]
values = ["Tom", 20, "Seoul"]
my_dict ={}
zipped_pairs=zip(keys,values)
my_dict = dict(zipped_pairs)
print(my_dict)

해설

zip(keys, values) : keys 리스트와 values 리스트의 같은 위치에 있는 요소들을 짝지어 ('name','Tom') , ('age' , 20), ('city', 'Seoul') 과 같은 튜플들의 이터레이터(iterator)를 생성한다.

이 방법이 두 리스트를 이용해 딕셔너리를 만들 때 가장 권장되는 방식

'Python > Python : Code Study' 카테고리의 다른 글

datetime 모듈의 timedelta  (0) 2025.09.26
리스트를 문자열 길이에 따라 정렬하기  (0) 2025.09.26
리스트 중첩  (0) 2025.09.25
*args의 역할  (0) 2025.09.25
파이썬 리스트 컴프리헨션 (List Comprehension)  (0) 2025.09.25