How to sort with lambda in Python

前端 未结 4 1522
感情败类
感情败类 2020-11-30 19:41

In Python, I am trying to sort by date with lambda. I can\'t understand my error message. The message is:

() takes exactly 1 argument (2 given         


        
4条回答
  •  醉话见心
    2020-11-30 20:26

    Python lists have two built-in ways to sort data:

    sort() — A method that modifies the list in-place
    sorted() — A built-in function that builds a new sorted list from an iterable
    

    Based on your requirement you can choose among these two:

    if you want to keep original list ,you can use sorted function or if you don't need original list you can use sort function.

    Before going on sort or sorted ,we need to understand lambda.

    A lambda is an anonymous function and an anonymous function is a function that is defined without a name, this post seems to explain it pretty nicely.

    https://www.programiz.com/python-programming/anonymous-function

    Lambda functions are nice for calling in-line because they only have one expression which is evaluated and returned. They syntax for a lambda is:

    lambda arguments: expression

    let's see how to use sorted function:

    student_tuples = [('john', 'A', 15),('jane', 'B', 12),('dave', 'B', 10),]
    sorted(student_tuples, key=lambda student: student[2]) 
    

    output: [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

    Here we can see list student_tuples having tuples is sorted based on key parameter provided that is student[2].

提交回复
热议问题