2012-02-14 146 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"]]