Thanks, This really has clarified everything :)
Much appreciated, Vince On 2 Sep 2011 14:49, "D. S. McNeil" <dsm...@gmail.com> wrote: > In your code, ComSet is a Python list (not a set) as are many of its > components, and you use len(x) to get the size: > > sage: ComSet, type(ComSet), len(ComSet) > ([[[0, 1], [0, 2], [1, 2]], [[0, 1, 2]], [[0, 1], [0, 2], [1, 2]]], > <type 'list'>, 3) > sage: ComSet[0], type(ComSet[0]), len(ComSet[0]) > ([[0, 1], [0, 2], [1, 2]], <type 'list'>, 3) > sage: ComSet[0][0], type(ComSet[0][0]), len(ComSet[0][0]) > ([0, 1], <type 'list'>, 2) > sage: ComSet[0][0][0], type(ComSet[0][0][0]) > (0, <type 'int'>) > > cardinality is a method not of Python lists, but of the Combinations > object. For example: > > sage: C > Combinations of [0, 1, 2] of length 2 > sage: C.cardinality() > 3 > sage: list(C) > [[0, 1], [0, 2], [1, 2]] > sage: C.list() > [[0, 1], [0, 2], [1, 2]] > sage: len(C.list()) > 3 > > The reason tab-completion doesn't reveal len is because len is a > function, not a method on the object, and the dot-tab procedure > returns the object's contents. (Admittedly, if you type > ComSet.__[tab], you can see the special methods, including > ComSet.__len__ which is used behind the scenes, but you would never > write ComSet.__len__() in real code.) > > Does that help? > > > Doug > > -- > To post to this group, send email to sage-support@googlegroups.com > To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com > For more options, visit this group at http://groups.google.com/group/sage-support > URL: http://www.sagemath.org -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org