In article <pan.2009.06.09.03.18...@remove.this.cybersource.com.au>, > > >But practicality beats purity -- there are many scenarios where we make >compromises in our meaning in order to get correct, efficient code. E.g. >we use floats, despite them being a poor substitute for the abstract Real >numbers we mean. > >In addition, using a tuple or a list in this context: > > if e.message.code in (25401,25402,25408): > >is so idiomatic, that using a set in it's place would be distracting. >Rather that efficiently communicating the programmer's intention, it >would raise in my mind the question "that's strange, why are they using a >set there instead of a tuple?".
As a newby I'm really expecting a set here. The only reason my mind goes in the direction of 3 items is that it makes no sense in combination with ``in''. That makes this idiom one that should be killed. " point1 = (0,1,0) point2 = (1,0,0) point3 = (0,0,1) for i in (point1,point2, point3): .... " ??? I don't think so. At least I would do " for i in [point1,point2,point3]: statements " But I greatly prefer a set " for i in {point1,point2,point3}: statements " Because a set is unorderded, this would convey to the the compiler that it may evaluate the three statements concurrently. For a list I expect the guarantee that the statements are evaluated in order. For a tuple I don't know what to expect. That alone is sufficient reason not to use it here. [Yes I know { } doesn't denote a set. I tried it. I don't know how to denote a set ... ] >-- >Steven Groetjes Albert. -- -- Albert van der Horst, UTRECHT,THE NETHERLANDS Economic growth -- being exponential -- ultimately falters. alb...@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst -- http://mail.python.org/mailman/listinfo/python-list