목록의 키와 값이 0으로 기본 설정된 사전을 만들려면 어떻게 해야 합니까?
있습니다a = [1,2,3,4]
그리고 나는 원합니다.d = {1:0, 2:0, 3:0, 4:0}
d = dict(zip(q,[0 for x in range(0,len(q))]))
작동하지만 못생겼습니다.더 깨끗한 방법은 무엇입니까?
dict((el,0) for el in a)
잘 작동할 것입니다.
Python 2.7 이상에서는 딕트 이해도 지원합니다.그 구문은{el:0 for el in a}
.
d = dict.fromkeys(a, 0)
a
목록입니다.0
기본값입니다.기본값이 사전의 모든 키에 대한 값으로 사용되는 하나의 개체가 되므로 기본값을 일부 가변 개체(예: 목록 또는 딕트)로 설정하지 않도록 주의하십시오(이 경우 해결 방법은 여기에서 확인).숫자/문자열은 안전합니다.
python 버전 >= 2.7 및 python 3:
d = {el:0 for el in a}
특정 예제에 매우 적합한 Tim의 답변 외에도 다음과 같은 작업을 수행할 수 있는 언급할 가치가 있습니다.
>>> d = defaultdict(int)
>>> d[0] += 1
>>> d
{0: 1}
>>> d[4] += 1
>>> d
{0: 1, 4: 1}
매핑용[1, 2, 3, 4]
당신의 예처럼, 그것은 물 밖에 있는 물고기입니다.하지만 당신이 질문한 이유에 따라, 이것은 더 적절한 기술이 될 수 있습니다.
d = dict([(x,0) for x in a])
**Tim의 솔루션을 편집하는 것이 더 좋습니다. 생성자를 사용하기 때문에 팀의 답변에 대한 의견을 확인할 수 있습니다.
언급URL : https://stackoverflow.com/questions/3869487/how-do-i-create-a-dictionary-with-keys-from-a-list-and-values-defaulting-to-say
'programing' 카테고리의 다른 글
노드에서 사용자의 IP 주소를 확인하는 방법 (0) | 2023.06.18 |
---|---|
문자열 입력이 숫자인지 확인하려면 어떻게 해야 합니까? (0) | 2023.06.18 |
주석과 장식가의 차이점은 무엇입니까? (0) | 2023.06.13 |
Vuex 상태 또는 getter는 항상 정의되지 않은 상태를 반환합니다. (0) | 2023.06.13 |
다른 빌드 구성표에 다른 Google Service-Info.plist 사용 (0) | 2023.06.13 |