On Jun 24, 10:31 pm, Bruno Desthuilliers <[EMAIL PROTECTED]> wrote: > > Especially since variables in python do not have to be explicitly > > assigned > > ???
I have probably expressed this incorrectly. What I meant was: >>> a = [1,2,3] >>> b = a >>> a[1] = 'spam' Here, I have changed b, without an explicit assignment. After I assigned a to b, I never did another "b =" yet b changed anyway because I changed a. I am not saying there is anything wrong with this, I'm just explaining what I meant. So let's say I have list L, and I have a routine that expects every item in L to be a dictionary like: {'name':'joe', 'job':'dev', 'pay': min_wage}. Not only could the app crash if an incorrect item where inserted into L. But the app could crash if an incorrect item were inserted in lists X,Y, or Z. Of course, you can always work around this by just programming very carefully, and doing a lot of error checking. That is always true in any language. But, I think sometimes it's helpful to use a structure that is little more restrictive, to sort of enforce a degree of integrity. An example I have already given: why use tuples instead of a list? Tuples are actually a bit more restrictive. I don't think there is anything wrong with the data structures that exist in python. I was just wondering if there was a structure that would restrict a collection to only allow certain types. The "restrictedlist" class discussed in another thread may be the sort of thing I was looking for. BTW: I think polymorphism is great and all. But it does have (and IMO should have) it's limitations. For example, I don't think you can divide a string by another string. -- http://mail.python.org/mailman/listinfo/python-list