2017-10-07 110 views
-2

我对编程和Python非常陌生,并试图弄清楚事情的真相。我试图从列表中取出项目并将键和值附加到字典中,但我无法弄清楚如何。我尝试使用字典的更新方法,但我只从列表中获取最后一项,而不是所有项目。这里是我的代码:如何将列表中的项目添加到字典中?

a = {} 
names = [ {'name': 'Bart'}, {'name': 'Lisa'}, {'name': 'Maggie'} ] 
for name in names: 
    a.update(name) 

结果我找回的是:

{'name': 'Maggie'} 

但我想这在我的新字典:

{'name': 'Bart'}, {'name': 'Lisa'}, {'name': 'Maggie'} 

我想放的物品从字典中的列表中访问这些值。我需要所有的名字,但也许有一个更简单的方法来做到这一点。

任何提示都会很棒。谢谢。

+1

那么你会想'a ['name']'导致什么?字典只能有一个特定键的值。它看起来像你想要的是一个字典列表,你已经拥有了...。 – zondo

+2

那不是一本字典... –

+0

好吧,那么我如何访问列表中的值?例如,如果我想访问“Bart”这个名字,我该怎么做? – johnnewbie25

回答

0

具有相同的键值,你不能从字典列表更新字典。你可以得到一个字典的键值列表。

{'name': ['Bart', 'Lisa', 'Maggie']} 

a={} 
    for n in names: 
    ...  for k in n: 
    ...    for k,v in [(k,n[k])]: 
    ...      if k not in a:a[k]=[v] 
    ...      else: a[k].append(v) 
相关问题