Keyerror problem
Gerhard Häring
gerhard.haering at gmx.de
Sun Sep 1 21:18:18 EDT 2002
davbucko wrote in comp.lang.python:
> 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
^^^^^^
Here's the bug. It should read: self.flags[name] = value.
`name` calls repr on name, which is most likely not what you want.
Btw. if you want to invert a dictionary, there are probably hundreds
of examples out there, here's a hopefully readable one:
def invertdict(orig):
new = {}
for k, v in orig.items():
new[v] = k
return new
Gerhard
--
mail: gerhard <at> bigfoot <dot> de registered Linux user #64239
web: http://www.cs.fhm.edu/~ifw00065/ OpenPGP public key id AD24C930
public key fingerprint: 3FCC 8700 3012 0A9E B0C9 3667 814B 9CAA AD24 C930
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))
More information about the Python-list
mailing list