Mike Nickey wrote:
While i'm still not sure what lamda is or represents, I've found a solution.

Unfortunately, you haven't. It's only by accident that your not-quite-solution gives the correct value for the example data.

Try it with this data instead:

[(1, 7), (1, 3), (3, 4, 8), (2, 2)]

required result: [(2, 2), (1, 3), (3, 4, 8), (1, 7)]
your result: [(2, 2), (1, 3), (1, 7), (3, 4, 8)]

This seems to work:
def sort_last(tuples):
    return sorted(tuples, key=myDef)


You have the right idea: sort the list of tuples, using a custom key function. But you have misunderstood the question. Earlier you said:

"What is being asked is to sort tuples based on the SECOND element of the tuple in ascending order." [emphasis added]

not the last element.

Remember that elements are numbered from 0, so the first element of a tuple has index 0, the second element has index 1, the third index 2, and so forth; also you can index from the end: the last element is -1, the second element is -2, and so forth.

You also asked what "lamda" is. Nothing -- it doesn't exist. However lambda (note the spelling) does exist, and it is a Python short-cut for creating an anonymous function.

(For the record, lambda is the Greek letter L. There is a field of computer science called "lambda calculus" which is very important to the theory of computing, and involves the deep fundamentals of functions and functional programming.)

The syntax is:

lambda arguments : expression

which is a short-cut for:

def func(arguments):
    return expression

except that no "func" variable is created (the anonymous part). An example might make this more clear:

lambda x, y=2: 3*x + y

creates an anonymous function object which takes one required argument x, and one optional argument y defaulting to 2, and returns the value of 3*x + y.

You should consider lambda to be entirely optional, and moderately advanced. Using lambda is never *necessary*, but sometimes it is convenient.



--
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to