티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
Create a dictionary with comprehension
딕셔너리 내포(한 줄 for문)로 만들기
문제 내용
Can I use list comprehension syntax to create a dictionary?
리스트 내포 구문을 사용하여 딕셔너리를 만들 수 있습니까?
For example, by iterating over pairs of keys and values:
예를 들어 키와 값의 쌍을 반복하여 다음과 같이 지정합니다.
d = {... for k, v in zip(keys, values)}
높은 점수를 받은 Solution
Use a dict comprehension (Python 2.7 and later):
딕셔너리 내포 사용(Python 2.7 이상):
{key: value for (key, value) in iterable}
Alternatively for simpler cases or earlier version of Python, use the dict
constructor, e.g.:
더 단순한 경우나 이전 버전의 파이썬의 경우 다음과 같은 dict 생성자를 사용한다.
pairs = [('a', 1), ('b', 2)]
dict(pairs) #=> {'a': 1, 'b': 2}
dict([(k, v+1) for k, v in pairs]) #=> {'a': 2, 'b': 3}
Given separate arrays of keys and values, use the dict
constructor with zip
:
별도의 키 및 값 배열이 지정된 경우 zip과 함께 dict 생성자를 사용합니다.
keys = ['a', 'b']
values = [1, 2]
dict(zip(keys, values)) #=> {'a': 1, 'b': 2}
2) "zip'ped" from two separate iterables of keys/vals
dict(zip(list_of_keys, list_of_values))
가장 최근 달린 Solution
Adding to @Ekhtiar answer, if you want to make look up dict
from list
, you can use this:
@Ekhtiar 답변에 추가하여 리스트에서 룩업 딕셔너리를 만드는 것을 원한다면 다음을 사용할 수 있습니다.
names = ['a', 'b', 'd', 'f', 'c']
names_to_id = {v:k for k, v in enumerate(names)}
# {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'f': 4}
Or in rare case that you want to filter duplicate, use set
first (best in list of number):
또는 드물게 중복을 필터링하려면 먼저 set(숫자 리스트에서 가장 적합)를 사용합니다.
names = ['a', 'b', 'd', 'f', 'd', 'c']
sorted_list = list(set(names))
sorted_list.sort()
names_to_id = {v:k for k, v in enumerate(sorted_list)}
# {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'f': 4}
names = [1,2,5,5,6,2,1]
names_to_id = {v:k for k, v in enumerate(set(names))}
# {1: 0, 2: 1, 5: 2, 6: 3}
출처 : https://stackoverflow.com/questions/1747817/create-a-dictionary-with-comprehension
'개발 > 파이썬' 카테고리의 다른 글
Pandas 데이터 프레임에서 여러 열 선택 (0) | 2022.12.05 |
---|---|
Pandas 데이터 프레임의 총 행의 수 얻기 (0) | 2022.12.05 |
파이썬 추상 클래스에서 추상 속성을 만드는 방법 (0) | 2022.12.04 |
키와 값이 저장된 별도 리스트로 부터 딕셔너리 만들기 (0) | 2022.12.04 |
확실히 설치된 모듈을 import 실패할 때 확인 할 것들!! (0) | 2022.12.03 |