개발/파이썬

키와 값이 저장된 별도 리스트로 부터 딕셔너리 만들기

맨날치킨 2022. 12. 4. 14:05
반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

How can I make a dictionary (dict) from separate lists of keys and values?

키와 값이 저장된 별도 리스트로 부터 딕셔너리 만들기

 문제 내용 

I want to combine these:

이것들을 결합하고 싶다:
keys = ['name', 'age', 'food']
values = ['Monty', 42, 'spam']

 

Into a single dictionary:

단일 사전:
{'name': 'Monty', 'age': 42, 'food': 'spam'}

 

 

 높은 점수를 받은 Solution 

Like this:

다음과 같이:
keys = ['a', 'b', 'c']
values = [1, 2, 3]
dictionary = dict(zip(keys, values))
print(dictionary) # {'a': 1, 'b': 2, 'c': 3}

 

Voila :-) The pairwise dict constructor and zip function are awesomely useful.

Voila :-) 쌍방향 dict 생성자와 zip 기능은 매우 유용합니다.

 

 

 

 가장 최근 달린 Solution 

  • 2018-04-18

 

The best solution is still:

여전히 최선의 해결책은 다음과 같습니다.
In [92]: keys = ('name', 'age', 'food')
...: values = ('Monty', 42, 'spam')
...: 

In [93]: dt = dict(zip(keys, values))
In [94]: dt
Out[94]: {'age': 42, 'food': 'spam', 'name': 'Monty'}

 

Tranpose it:

변환:
    lst = [('name', 'Monty'), ('age', 42), ('food', 'spam')]
    keys, values = zip(*lst)
    In [101]: keys
    Out[101]: ('name', 'age', 'food')
    In [102]: values
    Out[102]: ('Monty', 42, 'spam')

 

 

출처 : https://stackoverflow.com/questions/209840/how-can-i-make-a-dictionary-dict-from-separate-lists-of-keys-and-values

반응형