Так что я использую словарь в словаре, и каждый раз, когда я пытаюсь расширить child_dict, который я делаю с помощью цикла, остается только последнее значение итерации, в то время как предыдущие переписанныметоды обновления словаря python для расширения словаря
parent_dict = defaultdict(list)
for getdata from datasource:
# I generate 'child_dict' here
parent_dict[parentDict_key] = child_dict
Я пытался использовать метод .update (child_dict), но это дает мне
AttributeError: 'list' object has no attribute 'update'
Я также попытался использовать .append() метод, но он делает родительский список словарей. Есть ли лучший способ добавить новый child_dict в мой родительский_дикт и просто продлить его во время каждой итерации?
_ «осталось только последнее значение итерации, в то время как предыдущие были переписаны». Этого не должно быть. [mcve] пожалуйста. – Kevin
Итак, вы хотите, чтобы элементы были dicts, но вы инициализируете его 'defaultdict (list)', которые делают каждый атрибут по умолчанию 'list' (таким образом, исключение' update'). Что такое 'parentDict_key'? Я не вижу, где он меняется внутри цикла for. – beezz
, пожалуйста, покажите нам, как вы генерируете «child dict» на каждой итерации, вы сначала извлекли его из родительского dict? – zaxliu