2014-11-04 2 views
-2

Я новичок в Python и хочу сделать реализовать что-то вроде этого:добавить больше значений в список существующих питона Dict

значения в Словаре в этот список. если ключ уже существует в dict, то добавьте его в список значений. если ключ отсутствует, добавьте пару ключ-значение. поле значений - это список, и мне нужно добавить одно значение за раз в список.

d = { x: [1,2,3,4] 
     y : [5,6,7,8] } 

Если теперь z является следующим ключом, поскольку его нет, мы добавляем его в dict и соответствующее значение. для другого ключевого значения (скажем, х: 9), ДИКТ должно быть:

d = {x : [1,2,3,4,9] 
    y : [5,6,7,8] 
    z : [10] 
    } 

ответ

2

Вы можете использовать collections.defaultdict создать Dict, который имеет пустой список в качестве значения по умолчанию:

from collections import defaultdict 

d = defaultdict(list) 
d['x'] = [1,2,3,4] 
d['y'] = [5,6,7,8] 
# d is {'y': [5, 6, 7, 8], 'x': [1, 2, 3, 4]} 

d['z'].append(10) 
d['x'].append(9) 
print d 
# d is now {'y': [5, 6, 7, 8], 'x': [1, 2, 3, 4, 9], 'z': [10]} 

Заметим, что это работает, потому что list - это встроенная функция, которая создает пустой список.

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