Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #48736
| Newsgroups | comp.lang.python |
|---|---|
| Date | 2013-06-19 10:18 -0700 |
| References | <9ca984d5-19d9-4e82-a305-2a2f5ee341fe@googlegroups.com> <b3df2c76-b191-4cbb-9859-874b534a17e5@googlegroups.com> <mailman.3459.1371415158.3114.python-list@python.org> |
| Message-ID | <87a79a3d-6f06-4aa3-a09f-48c695adeb4a@googlegroups.com> (permalink) |
| Subject | Re: Timsort in Cpython |
| From | sean.westfall@gmail.com |
On Sunday, June 16, 2013 1:33:17 PM UTC-7, Ian wrote:
> On Sat, Jun 15, 2013 at 10:05 PM, <alphonse23@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.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Timsort in Cpython alphonse23@gmail.com - 2013-06-15 12:44 -0700
Re: Timsort in Cpython Zachary Ware <zachary.ware+pylist@gmail.com> - 2013-06-15 14:55 -0500
Re: Timsort in Cpython Robert Kern <robert.kern@gmail.com> - 2013-06-15 21:00 +0100
Re: Timsort in Cpython alphonse23@gmail.com - 2013-06-15 13:21 -0700
Re: Timsort in Cpython Robert Kern <robert.kern@gmail.com> - 2013-06-15 21:55 +0100
Re: Timsort in Cpython alphonse23@gmail.com - 2013-06-15 14:43 -0700
Re: Timsort in Cpython Terry Reedy <tjreedy@udel.edu> - 2013-06-15 22:56 -0400
Re: Timsort in Cpython alphonse23@gmail.com - 2013-06-15 21:05 -0700
Re: Timsort in Cpython mm0fmf <none@mailinator.com> - 2013-06-16 14:08 +0100
Re: Timsort in Cpython alphonse23@gmail.com - 2013-06-16 09:15 -0700
Re: Timsort in Cpython Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-06-16 16:16 -0400
Re: Timsort in Cpython sean.westfall@gmail.com - 2013-06-19 10:10 -0700
Re: Timsort in Cpython Ian Kelly <ian.g.kelly@gmail.com> - 2013-06-16 14:33 -0600
Re: Timsort in Cpython sean.westfall@gmail.com - 2013-06-19 10:18 -0700
Re: Timsort in Cpython Ian Kelly <ian.g.kelly@gmail.com> - 2013-06-19 12:20 -0600
csiph-web