Sorting a list of lists
MRAB
python at mrabarnett.plus.com
Fri Feb 12 13:24:17 EST 2010
More information about the Python-list mailing list
Fri Feb 12 13:24:17 EST 2010
- Previous message (by thread): Sorting a list of lists
- Next message (by thread): Sorting a list of lists
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
R (Chandra) Chandrasekhar wrote: > Dear Folks, > > I have lines of values like so: > > 14, [25, 105, 104] > 10, [107, 106, 162] > 21, [26, 116, 165] > > I need to sort them in two ways: > > (a) By the numeric value of the first column; and > > (b) by the sum of the elements of the second item in each list, which is > a list in itself. > > At present, I have appended each line into a list L so that I for teh > above minimal data, I have a list of lists thus: > > [[14, [25, 105, 104]], [10, [107, 106, 162]], [21, [26, 116, 165]]] > > I have tried using > > (a) sorted(L, key = lambda x:(x[0])) > > and > > (b) sorted(L, key = lambda x:(sum(x[1]))) > > and get the anticipated results for (a) and (b0, at least with the above > minimal data set. > > Is this a sensible way to go about the sorting, or are there better ways > of doing it in Python? > It's the obvious way to do it. > Also, I am baffled because the above fails obviously when len(L) is > about a hundred and I can't figure out why. > You'd have to post an example of that, but you could try deleting some of the entries before sorting so see whether you can still reproduce the problem with a smaller list.
- Previous message (by thread): Sorting a list of lists
- Next message (by thread): Sorting a list of lists
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list