2012-05-14 3 views
0

Могу ли я добавить список в словарь?Как добавить к списку в словаре?

test = {'food' : 'apple'} 

Есть ли команда, чтобы добавить 'banana' и превратить его в

test = { 'food': ['apple','banana'] } 

Спасибо

+2

'test ['food']. append ('banana')'. –

+1

Это не 'list', это строка или' str' в python. Тем не менее, он становится «списком» во втором примере. – jamylak

ответ

4

Вам нужно создать dict где values списки:

test = {'food' : ['apple']} 
test['food'].append('banana') 
3

Самым простым решением было бы просто, чтобы просто сделать значение вашей хэш списка, который может содержат только один элемент. Тогда, например, у вас может быть примерно следующее:

test = {'food' : ['apple']} 
test['food'].append('banana') 
+2

+1 Я думаю, что, скорее всего, OP пытался добавить append, но упускал из виду отсутствующий '[]' –

5

Нет, поскольку это не список в первую очередь.

test['food'] = [test['food'], 'banana'] 
1

Я бы рекомендовал использовать defaultdict в данном случае, это довольно просто иметь дело со словарями списков, так как тогда вы не требуется два отдельных случая при каждом изменении записи:

import collections 

test = collections.defaultdict(list) 

test['food'].append('apple') 
test['food'].append('banana') 

print test 
# defaultdict(<type 'list'>, {'food': ['apple', 'banana']}) 
+0

. Это просто сделать без «defaultdict»: test.setdefault («food», []). Append ("яблоко") ' – kindall

Смежные вопросы