2017-02-20 1 views
1

키만 들어있는 사전을 만들어야합니다.키만 사용하여 사전을 만드시겠습니까?

목록이 아니기 때문에 d.append()을 사용할 수 없습니다. setdefault에는 키와 값이라는 두 개의 인수가 필요하므로 사용할 수 없습니다.

그것은 다음과 같이 작동합니다 :

d = {} 

추가 "는"

d = {"a"} 

하는 "B"를 추가 :

d = {"a", "b") 

하는 "C"를 추가 ...

#Final result is 

d = {"a", "b", "c"} 

이 결과를 얻기 위해 필요한 코드는 무엇입니까? 아니면 다른 해결책입니까? 목록 만들기 등. 그것을해야

l = ["a", "b", "c"] # and transform it into a dictionnary: d = {"a", "b", "c"} ? 
+2

'd = { "a", "b", "c }}'사전이 아니다'set' 만 –

+2

'd = {} '대신에'd = set()'으로 시작했다면 효과가있었습니다. – khelwood

+1

사전이 아니라'set'이 필요합니다. –

답변

-1

:

l = ["a", "b", "c"] 

d = {k:None for k in l} 

@Rahul이 코멘트에 말했듯이 값이 결여되어 있기 때문에, d = {"a", "b", "c"} 유효한 사전 적 정의하지 않습니다. 딕셔너리가 존재할 수 있도록 키에 값을 할당해야하며 값이 부족한 경우 나중에 None을 할당하고 나중에 업데이트 할 수 있습니다.

+0

답변 해 주셔서 감사합니다.하지만 원하는 것은 아닙니다. 이 반환합니다 { 'a': 없음, 'b': 없음, 'c': 없음} 그리고 "없음"싶지 않아 – MartinM

+0

@MartinM 당신은 뭔가가 있어야합니다. 'None'일 필요는 없습니다. 빈 문자열 ('''')이 될 수도 있습니다. –

+0

Rahul K P와 khelwood가 해결책을 찾았습니다. 어쨌든 고마워! – MartinM

4

dict에는 키만있는 키를 set이라고합니다.

사전 대신 빈 집합으로 시작하십시오.

d = set() 
d.add('a') 
d.add('b') 
d.add('c') 

당신은 또한 {} 표현을 통해 세트를 만들 수 있습니다

d = { 'a', 'b', 'c' } 

또는 목록 사용 :

d = set(['a', 'b', 'c']) 
0

을 당신은 set없는 사전이 필요

l = ["a", "b", "c"] 
d = set(l) 
관련 문제