Keyerror problem

davbucko davbucko at
Sun Sep 1 20:33:44 EDT 2002

Hi guys,

I have a feeling this is going to turn out to be a pretty stupid question,
but here goes anyway...

I have a class Flags as follows:

class Flags:
    def __init__(self):
        self.flags = {}

    def getInverseFlags(self):
        for i in self.flags.keys():
            #switch some keys/values around

    def setFlag(self,name,value):
        self.flags[`name`] = value
#End of class Flags

I then call that class and use it:
flags = Flags()
powers = Powers() #This class is working fine elsewhere, so I don't think
that it is the problem

def getComplimentaryGrid():
    for j in powers.dict[flags.flags['row1']]: #This line doesn't work
For some reason, on the line above, I am getting the following error

Traceback (most recent call last):
  File "C:\Dave\python\", line 188, in ?
  File "C:\Dave\python\", line 163, in iterateGrids
  File "C:\Dave\python\", line 78, in checkGridCols
  File "C:\Dave\python\", line 167, in getComplimentaryGrid
    for j in powers.dict[flags.flags['row1']]:
KeyError: row1

I don't know why this is, as 'row1' is clearly a key.  If I enter the
following just above the line that is giving me trouble above:

for i in flags.flags.keys():
    print i,

I get the output: 'col1' 'col3' 'col2' 'row3' 'row2' 'sum' 'row1' which
shows that 'row1' is a key.

I am entirely new to python, so if this is an idiotic question, please say.
If you need more code, there (obviously) is more, but imvho it is not
causing any problems.


More information about the Python-list mailing list