2012-02-14 150 views
-5

如何在python中創建一個字典?python中的字典列表

如果我有像這樣的列表:

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

而且我希望它成爲本:

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

不明白什麼性格'B'和'='正在做什麼。此外,你想要輸出的東西似乎不是一個列表,而是一個字符串。 – user1144616 2012-02-14 05:55:25

+1

你能澄清一下你的問題嗎?您的最後一行可能會使用一點解釋 – 2012-02-14 05:57:25

+1

另外,這不是你如何拼寫'愛因斯坦 – 2012-02-14 06:09:29

回答

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

你有我想說的話!!謝謝 – 2012-02-14 06:10:19

+0

然後@ user997704想要一個列表字典...(你應該可能會編輯標題)。 – jimifiki 2012-02-14 08:13:23

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

是的第二個 – 2012-02-14 05:55:44

0

只要把列表中的其他內,即

scientists = [["Albert","Einstein"],["Neils","Bohr"]]