unexpected wrote: > I have a program where based on a specific value from a dictionary, I > call a different function. Currently, I've implemented a bunch of > if..elsif statements to do this, but it's gotten to be over 30 right > now and has gotten rather tedious. Is there a more efficient way to do > this? > > Code: > > value = self.dictionary.get(keyword)[0] > > if value == "something": > somethingClass.func() > elsif value == "somethingElse": > somethingElseClass.func() > elsif value == "anotherthing": > anotherthingClass.func() > elsif value == "yetanotherthing": > yetanotherthingClass.func() > > Is it possible to store these function calls in a dictionary so that I > could just call the dictionary value? > Why not do it this way?
foo = {'something':somethingClass.func,'somethingelse':somethingelseClass.func) if foo.has_key(value) : foo[value]() else : raise OMG, "%s isn't known" % value -- http://mail.python.org/mailman/listinfo/python-list