> t = (1, (2, 3)) > > I am bit suprised, that I cannot access '3' via: > t[1].[1] # syntax error > > But t[1].__getitem__(1) works like expected. > > Why is that?
What is "t"? It's a tuple. A tuple can be indexed, or you can call its __getitem__ method. Thus, the one-th element of t is either t[1] or t.__getitem__(1) You're asking for the sub-element of that thing just returned. Thus, you either need to use t[1][1] or t[1]._getitem(1) or t.__getitem__(1)[1] or t.__getitem__(1).__getitem__(1) Imagine that you used x = t[1] You wouldn't use x.[1] you'd use x[1] or x.__getitem__(1) Same thing. As simple as search-and-replace of "t[1]" with "x" -tkc -- http://mail.python.org/mailman/listinfo/python-list