У меня есть список значений mList = [1,6,7,9]
и dict cDict = {1:[3,4,7], 2:[1,9], 3:[6,3]}
Я хочу отсканировать каждый элемент в dict (каждый список в dict), чтобы определить, является ли он элементом из mList. , Если элемент списка находится в элементах ключа dict, я хочу сделать так, чтобы значения сохранялись в новом dict, относящемся к ключам, в которых был найден элемент.
newDict = {1:[7], 2:[1,9], 3:[6]}
Я пробовал это:
newDict = {}
for i in mList:
for k, v in cDict.items():
if i in v:
newDict[k].append(i)
, но получил следующую ошибку:
Runtime error
Traceback (most recent call last):
File "<string>", line 4, in <module>
KeyError: 2
Для устранения неполадок я попытался:
newDict = {}
for i in mList:
for k, v in cDict.items():
if i in v:
print k, i
, и, кажется, он печатает нужные наборы:
2 1
3 6
1 7
2 9
Почему python говорит мне, что у меня ошибка ключа?