Я довольно новичок в Python, и я был озадачен, казалось бы, простой задачей.В части моей программы я хотел бы создать вторичные словари из значений внутри списков, для которых они являются значениями основного словаря.
Я также хотел бы установить значения по умолчанию 0
Ради простоты Основной словарь выглядит примерно так:
primaryDict = {'list_a':['apple', 'orange'], 'list_b':['car', 'bus']}
Я хотел бы, чтобы мой результат был примерно таким:
{'list_a':[{'apple':0}, {'orange':0}], 'list_b':[{'car':0}, {'bus':0}]}
Я понимаю процессследует выполнить итерацию по каждому списку в primaryDict, а затем выполнить итерации по элементам в списке и затем назначить их в качестве словарей.
Я перепробовал множество вариантов циклов "for", все они выглядят примерно так:
for listKey in primaryDict:
for word in listKey:
{word:0 for word in listKey}
Я также попробовал некоторые методы объединения словаря и списков, но когда я пытаюсь индексировать и печатать словари, например:
print(primaryDict['list_a']['apple'])
, я получаю "TypeError: индексы списка должны быть целыми числами или кусочками, а не str ", что, как я понимаю, мое« яблоко »на самом деле не словарь, а строка в списке.Я проверил это, заменив «яблоко» на 0, и он просто возвращает «яблоко», подтвердив его истинность.
Я хотел бы помочь в отношении:
-Если значения в моем или нетсписок присваивается как словари со значением '0'
или
- есть ли ошибка в моем индексировании (в цикле или в функции печати), и в чем я ошибаюсь с
или
-Все, что я сделал, не даст мне желаемого результата, и я должен попробовать другой подход
Спасибо