Python Key Error=0 - Can't find Dict error in code Python Key Error=0 - Can't find Dict error in code python python

Python Key Error=0 - Can't find Dict error in code


The error you're getting is that self.adj doesn't already have a key 0. You're trying to append to a list that doesn't exist yet.

Consider using a defaultdict instead, replacing this line (in __init__):

self.adj = {}

with this:

self.adj = defaultdict(list)

You'll need to import at the top:

from collections import defaultdict

Now rather than raise a KeyError, self.adj[0].append(edge) will create a list automatically to append to.


The defaultdict solution is better.But for completeness you could also check and create empty list before the append.Add the + lines:

+ if not u in self.adj.keys():+     self.adj[u] = []  self.adj[u].append(edge)..


It only comes when your list or dictionary not available in the local function.