Hi, Suppose I write
if x in ("abc", "def", "xyz"): doStuff() elif x in ("pqr", "tuv", "123"): doOtherStuff() elif ... etc. When is python building the tuples? Does it need to build the tuple every time it comes through this code? Or does it somehow recognise that they are constant and cache them? In other words, is anything gained (efficiency-wise) by first putting say tuple1 = ("abc", "def", "xyz") tuple2 = ("pqr", "tuv", "123") somewhere where I know it's executed once, and then writing if x in tuple1: doStuff() elif x in tuple2: doOtherStuff() elif ... ???? (The tuples I have in mind are of course much longer than three elements) Many thanks David -- http://mail.python.org/mailman/listinfo/python-list