views:

331

answers:

3

I'm getting a KeyError for an out of dictionary key, even though I know the key IS in fact in the dictionary. Any ideas as to what might be causing this?

print G.keys()

returns the following:

['24', '25', '20', '21', '22', '23', '1', '3', '2', '5', '4', '7', '6', '9', '8', '11', '10', '13', '12', '15', '14', '17', '16', '19', '18']

but when I try to access a value in the dictionary on the next line of code...

for w in G[v]:    #note that in this example, v = 17

I get the following error message:

KeyError: 17

Any help, tips, or advice are all appreciated. Thanks.

+9  A: 

That's simple, 17 != '17'

wRAR
wow I feel like an idiot. I'm reading these values from a file, for some reason this didn't occur to me - thanks!
ignorantslut
+1  A: 

The keys are strings, you are trying to access them as ints.

FogleBird
A: 

try with v = '17'. You must convert your int to string

luc