2017-01-06 1 views
1

내가 다음과 같습니다 파이썬 사전이 설정합니다 :목록에서 사전의 값의 유형을 변경하면

{'Alan Turing': ['Alanin', 'Anting'], 'Donald Knuth': ['Donut'], 'Claude Shannon': ['Cannon']} 

지금 내가 설정 목록에서 사전의 값의 유형을 변경하고자합니다.

어떻게 할 수 있습니까?

인사말.

+1

'설정 (my_dict)'. 이것은 중복되어야합니다. – Abdou

+0

@Abdou 나는 당신과 Muntaser가 질문을 잘못 이해했다고 생각합니다. 'set (my_dict)'는 집합을 반환합니다; 사전 값을리스트에서 세트로 변환하지 않습니다. – Tagc

+1

아! 이제는 의미가 있습니다. '{k : k에 대해 (v)를 설정하고, my_dict.items()}에 v '를 입력하십시오. – Abdou

답변

2

이 코드는 모든 사전 값이 세트 목록에서 변경됩니다 :

d = {'Alan Turing': ['Alanin', 'Anting'], 'Donald Knuth': ['Donut'], 'Claude Shannon': ['Cannon']} 

for k, v in d.items(): 
    d[k] = set(v) 

print(d) 

출력

{'Donald Knuth': {'Donut'}, 'Claude Shannon': {'Cannon'}, 'Alan Turing': {'Anting', 'Alanin'}} 
+1

괜찮 으면서도, 더 나은/대체 라이너를 포함하는 dict 이해 :'{k : set (v) for k, v in my_dict.items()} ' –

+0

그래, 훨씬 나아 보인다. – Tagc

+0

두 변형을 모두 제공하는 것이 좋습니다. 어떤 사람들은 dictcomps에 알레르기가 있습니다. –

관련 문제