On Nov 17, 3:40 am, "Gabriel Genellina" <[EMAIL PROTECTED]> wrote: > > You can write your own membership test based on identity ('is'): > Thank you for the practical (usable) advice and explanation of the '==' operator.
On Nov 17, 4:35 am, John Machin <[EMAIL PROTECTED]> wrote: > > And that can be done by reading the fine manual, specifically > This is true. I was being lazy by posting but have been pleasantly surprised by the detailed responses. For the most, Python's beautiful syntax has thus far required minimal thought of me. Programs feel more like pseudo code than code and I may have gotten carried away. On Nov 17, 4:35 am, John Machin <[EMAIL PROTECTED]> wrote: > > Worse: Consider z = ['A1', 'Z9']. It's highly likely that when x == > 'A1', "x is_in z" is True -- because an unguaranteed implementation- > dependent caper caches or "interns" some values, so that x and z[0] > are the same object. Try explaining that to the novices!! > I am not a programmer so I feel odd commenting about language design decisions. When my Prof. introduced python the first question that popped into mind was that since "x=9; y=9; print x is y and x == y" prints "True" is there a way to change the value of 9? He said that was silly but after class showed me that statements "True = []" work but suggested it was harmless and not quite a bug. So if I am permitted to think of integers as immutable objects with predefined labels (i.e. the integers used in the text of the program code) that cannot de or re referenced then what a similar treatment of characters will look like seams to be an arbitary (a design) decition. In this vein it seams reasonable to expect 'a'[0] and 'ba'[1] to refer to the same object. If one follows the convention used with integers (9 and 9 refer to the same object) then 'ab' and 'ab' would be the same. An equally reasonable assumption would be that 'ab' and 'ab' are two different sequences and so not equal (I do not see the problem here). Actually this is what you said is left up to the implementation. '==' seams to add a lot of power but I am not sure where or how (except as a shortcut in the very special case of strings). Pardon the babble. On Nov 17, 4:35 am, John Machin <[EMAIL PROTECTED]> wrote: > > Do you have a use case for that? > I have a list of lists and want to see if another list is a member of it. The content of the lists and the way they are related to each other changes from program to program. -- http://mail.python.org/mailman/listinfo/python-list