2011-01-31 109 views
-1

所以,我创建了一个字典,该名字在该字典中作为列表存储名字。新名称通过函数添加到字典列表中。现在,这是我遇到障碍的地方:Python:我的字典,存储名字一次不会存储多个名字

主要障碍:函数覆盖我添加的新名称。如果通过函数将名称“George”添加到列表中,它将存储名称“George”。但是,我想在字典中添加名称“Alfred”,它会覆盖名称“George”并添加名称“Alfred”。

我相信你可以看到这是一个问题,这是谁想要添加多个名字到字典的列表。奇怪的是,当我输入完全相同的代码到解释器中,并且我单独将名称附加到字典列表中时,它可以正常工作。

下面是代码:

def add(data,value): 

data['names'] = {} 
data['names']['first'] = [] 
data['names']['first'].append(value) 
+1

http://stackoverflow.com/questions/4841868/python-dictionaries-how-to-keep-the-new-value-from-overwriting-the的重复

def add(data, value): data.setdefault('names', {}).setdefault('first', []).append(value) 

见Python文档-previous-value – misha 2011-01-31 04:39:41

+0

嗯,你能告诉我们你的确切代码吗?你在输入什么,你会得到什么,以及你为什么期望有不同的东西? – Falmarri 2011-01-31 04:41:35

回答