#python #list #dictionary
#python #Список #словарь
Вопрос:
Я пытаюсь создать словарь таким образом, чтобы для каждого ключа значение представляло собой список списков. В моем коде есть цикл, который выполняется с некоторым списком ключей, и если ключа нет в словаре, я добавляю ключ в словарь с некоторым значением. Я попадаю в truble, когда ключ находится в словаре — я не могу добавить к нему другой список.
вот пример того, что я пробовал:
dict={}
dict[x]=[[f,g],[y,e,j]...]
# i tried this:
dict[x] = [l,k,n]
dict[x].append([l,k,n])
#i expected this:
dict[x] = [[f,g],[y,e,j], ... ,[l,k,n]]
Комментарии:
1. Разве
append()
версия не делает именно то, что вы хотите?2. Примечание:
dict
это не идеальное имя, которое вы должны выбрать для переменной. Позже вы столкнетесь с проблемами. Это встроенная функция.3. Это не помешало бы
append()
версии здесь делать то, что хочет OP.4.Так что же сделал
dict[x].append([l,k,n])
, если не то, что вы ожидали?5. На самом деле это работает сейчас, я не знаю, что происходило раньше, возможно, опечатка. Извините.
Ответ №1:
Кажется, у меня это работает:
a = [1,2,3]
b = [4,5,6]
d = {}
d['ab'] = [a, b]
d['ab'].append([7,8,9])
Обратите внимание, что d['ab'] = [0,0,0]
(в качестве примера) делает extend
вместо append
. Если вы хотите использовать =
, вам следует обернуть значение в список. например:
d['ab'] = [[0,0,0]]