I want to subclass list so that each value in it is calculated at call time. I had initially thought I could do that by defining my own __getitem__, but 1) apparently that's deprecated (although I can't find that; got a link?), and 2) it doesn't work.
For example: >>> class Foo(list): ... def __getitem__(self, index): ... return 5 ... >>> a = Foo([1, 2, 3, 4, 5]) >>> print a [1, 2, 3, 4, 5] >>> print a[2:4] [3, 4] >>> print a[3] 5 I first expected that to instead behave like: >>> print a [5, 5, 5, 5, 5] >>> print a[2:4] [5, 5] Is there a "right" way to do this? -- Kirk Strauser -- http://mail.python.org/mailman/listinfo/python-list