2012-02-14 2 views
-5

파이썬으로 어떻게 사전을 만들 수 있습니까?사전에 비단뱀 목록이 없습니다.

이 같은 목록이있는 경우 :

a = ["Albert Einstein", "Nils Bohr"] 

을 그리고 나는 그것이이되고 싶어 :

b = {'Albert Eienstein': ['Albert', 'Eienstein'], 'Neils Bohr': ['Neils', 'Bohr']} 
+0

, 다른 내부의 목록을 넣어. 또한, 출력물로 원하는 것은 목록이 아닌 문자열입니다. – user1144616

+1

약간의 질문을 명확히 할 수 있습니까? 마지막 줄에 약간의 설명을 쓸 수 있습니다 –

+1

또한 아인슈타인의 철자법이 아닙니다 –

답변

4
lista = ["Albert Eienstein","Neils Bohr"] 
dictb = {} 
for elem in lista: 
    dictb[elem] = elem.split(' ') 

print dictb 

Output: {'Neils Bohr': ['Neils', 'Bohr'], 'Albert Eienstein': ['Albert', 'Eienstein']} 
+0

고맙습니다. –

+0

그러면 @ user997704는 목록의 단서를 원했습니다. 아마 제목을 편집하십시오). – jimifiki

4

나는 당신의 질문을 이해하지 않습니다. 이걸 원한다고 말하는거야?

list_of_lists = [['Albert', 'Einstein'], ['Neils', 'Bohr']] 

아니면?

dict_of_lists = {'Albert Einstein':['Albert', 'Einstein'], 
       'Neils Bohr':['Neils', 'Bohr']} 

아니면 하나에서 다른 것으로 변환 하시겠습니까?

>>> l = ["Albert Eienstein", "Neils Bohr"] 
>>> d = dict((i, i.split()) for i in l) 
>>> d 
{'Neils Bohr': ['Neils', 'Bohr'], 'Albert Eienstein': ['Albert', 'Eienstein']} 
+0

그래요. 두 번째 글 –

0

그냥 문자`b`와`=`가 무엇을하고 있는지 이해할 수 없다 즉

scientists = [["Albert","Einstein"],["Neils","Bohr"]] 
관련 문제