On Sunday, June 16, 2013 1:33:17 PM UTC-7, Ian wrote:
> On Sat, Jun 15, 2013 at 10:05 PM,  <alphons...@gmail.com> wrote:
> 
> > Yes I've read it. Very interesting read. There are other resources too 
> > online that make it very clear, for instance the wikipedia articles is 
> > pretty good.
> 
> >
> 
> > Though, if anyone would be interested in helping me out further -- though 
> > by all means, I'm not lazy, I can figure it myself. But, I wanted to pass 
> > in variables into listsort and watch timsort work line by line in gdb.
> 
> >
> 
> > listsort(PyListObject *self, PyObject *args, PyObject *kwds)
> 
> >
> 
> > I've never worked with Cpython source before, but it looks like PyObject is 
> > just some type of general strut.. I think anyway. How does python represent 
> > a list of ints in source? and what are the two second arguments for, 
> > assuming the first is the list strut.
> 
> 
> 
> A PyObject* generally references any Python object.  The subtype
> 
> PyListObject* more specifically references a Python list.  The above
> 
> signature corresponds to this Python function signature:
> 
> 
> 
>     def listsort(self, *args, **kwds):
> 
> 
> 
> The first argument self is the list object to be operated on.  The
> 
> second argument args is a Python tuple containing any other positional
> 
> arguments that were passed into the method.  The third argument kwds
> 
> is a Python dict containing any keyword arguments that were passed
> 
> into the method.

The second argument takes the tuple which determines which varialble(key) to 
use the comparator on. And the third determines whether to return the list in 
ascending or descending order. But how do these PyObject* look in C?

How does a PyListObject* look declared in CPython. How would something like 
this list = [2, 1, 5, 6, 10] look in CPython. Or what about something more 
complicated -- mlist = [('A',1),('B',2),('C',3)].

Thanks for the help.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to