>>> class Array(list): ... def __getitem__(self, key): ... print "key:", key, type(key) ... def __getslice__(self, i, j): ... print "ij", i, j ... >>> a = Array(range(10)) >>> a[0] key: 0 <type int=""> >>> a[0:5] ij 0 5 >>> a[0, 1, 2] key: (0, 1, 2) <type tuple=""> >>> a[0:6:2] key: slice(0, 6, 2) <type 'slice'> >>> a[0:1, 3:4] key: (slice(0, 1, None), slice(3, 4, None)) <type 'tuple'> >>> slice(1,3), type(slice(1,3)) (slice(1, 3, None), <type 'slice'>) >>> a[0, ..., 5] key: (0, Ellipsis, 5) <type tuple=""> >>> Ellipsis, type(Ellipsis) (Ellipsis, <type 'ellipsis'>)
hmmm...
(to be updated)
No comments:
Post a Comment