Tom Anderson wrote: > True, but that's not exactly rocket science. I think the rules governing > when your [] acts like a dict [] and when it acts like a list [] are > vastly more complex than the name of one attribute.
I think it's not really rocket science either to assume that an ordered dictionary behaves like a dictionary if you access items by subscription and like a list if you use slices (since slice indexes must evaluate to integers anyway, they can only be used as indexes, not as keys). >> Python's strength is that you don't have to keep many details in mind >> because it has a small "basic vocabulary" and orthogonal use. > No it isn't - it's in having a wide set of basic building blocks which > do one simple thing well, and thus which are easy to use, but which can > be composed to do more complex things. What are other examples of this > kind of 'orthogonal use'? I mean for instance that you can deal with a tuple in the same way as with a string and things like that. Concerning "small": Somebody coined the good slogan "Python fits my brain" but I could also say "Python fits *into* my brain" (I mean without the batteries of course ;-) - you pretty soon have all the built-in functins, datatypes and their use in your head. On the other side of course, Python is a huge field and you can discuss endlessly as we are doing here. Anyway, my argument was not good (avoiding new attributes names in order to keep the vocabulary small). And by the way, what both of us listed as strengths of Python will be probably claimed by protagonists of any other language as well. -- Christoph -- http://mail.python.org/mailman/listinfo/python-list