Bird
Raised Fist0
Pythonprogramming~5 mins

sorted() function in Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the sorted() function do in Python?
The sorted() function takes any iterable (like a list or tuple) and returns a new list with all the items in ascending order by default.
Click to reveal answer
beginner
How do you sort a list in descending order using sorted()?
Use the reverse=True argument inside sorted(). For example: sorted(my_list, reverse=True) sorts the list from highest to lowest.
Click to reveal answer
intermediate
What is the difference between sorted() and the list method sort()?
sorted() returns a new sorted list and works on any iterable. list.sort() changes the original list in place and returns None.
Click to reveal answer
intermediate
How can you sort a list of strings ignoring case using sorted()?
Use the key=str.lower argument to sort strings without case sensitivity. Example: sorted(words, key=str.lower).
Click to reveal answer
beginner
What type of object does sorted() return?
sorted() always returns a new list, even if the input is a tuple or other iterable.
Click to reveal answer
What will sorted([3, 1, 2]) return?
A[1, 2, 3]
B[3, 2, 1]
C[3, 1, 2]
DError
Which argument sorts a list in descending order?
Areverse=True
Bdescending=True
Corder='desc'
Ddesc=True
What does sorted() return when given a tuple?
AA sorted tuple
BA sorted list
CThe original tuple
DAn error
How do you sort strings ignoring case?
Asorted(strings, key=ignore_case)
Bsorted(strings, ignore_case=True)
Csorted(strings, key=str.lower)
Dsorted(strings, case=False)
Which is true about list.sort() compared to sorted()?
A<code>list.sort()</code> returns a tuple
B<code>list.sort()</code> returns a new sorted list
C<code>list.sort()</code> works on any iterable
D<code>list.sort()</code> sorts the list in place
Explain how to use the sorted() function to sort a list in descending order and ignoring case for strings.
Think about the arguments <code>reverse</code> and <code>key</code>.
You got /5 concepts.
    Describe the difference between sorted() and list.sort() in Python.
    Consider what happens to the original list.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the sorted() function do in Python?
      easy
      A. Returns a new list with items arranged in order
      B. Changes the original list to be sorted
      C. Deletes all items from the list
      D. Returns the largest item in the list

      Solution

      1. Step 1: Understand the purpose of sorted()

        The sorted() function creates a new list with the elements arranged in ascending order by default.
      2. Step 2: Compare with other options

        It does not change the original list, nor does it delete items or return just the largest item.
      3. Final Answer:

        Returns a new list with items arranged in order -> Option A
      4. Quick Check:

        sorted() returns new sorted list [OK]
      Hint: Remember: sorted() returns a new list, original stays same [OK]
      Common Mistakes:
      • Thinking sorted() changes the original list
      • Confusing sorted() with max() or min()
      • Assuming sorted() deletes items
      2. Which of the following is the correct syntax to sort a list nums in reverse order using sorted()?
      easy
      A. sorted(nums, reverse=False)
      B. sorted(nums, reverse=0)
      C. sorted(nums, reverse=false)
      D. sorted(nums, reverse=True)

      Solution

      1. Step 1: Check the correct parameter for reverse sorting

        The sorted() function uses the keyword argument reverse=True to sort in descending order.
      2. Step 2: Validate the parameter type

        The value must be the boolean True, not False, numbers like 0, or undefined names.
      3. Final Answer:

        sorted(nums, reverse=True) -> Option D
      4. Quick Check:

        Use reverse=True (boolean) for descending sort [OK]
      Hint: Use reverse=True (boolean), not False/0/undefined [OK]
      Common Mistakes:
      • Using reverse=False (sorts ascending)
      • Passing falsy numbers like 0
      • Using undefined lowercase 'false'
      3. What is the output of the following code?
      words = ['pear', 'apple', 'orange']
      sorted_words = sorted(words, key=len)
      print(sorted_words)
      medium
      A. ['pear', 'apple', 'orange']
      B. ['pear', 'apple', 'orange'] sorted by length
      C. ['apple', 'orange', 'pear']
      D. ['pear', 'apple', 'orange'] sorted by length ascending

      Solution

      1. Step 1: Understand the key parameter

        The key=len tells sorted() to sort the list by the length of each word.
      2. Step 2: Sort words by length

        Lengths: 'pear' (4), 'apple' (5), 'orange' (6). Sorted ascending by length: ['pear', 'apple', 'orange'].
      3. Final Answer:

        ['pear', 'apple', 'orange'] -> Option A
      4. Quick Check:

        sorted(words, key=len) sorts by length ascending [OK]
      Hint: key=len sorts items by their length ascending [OK]
      Common Mistakes:
      • Confusing sorting by value vs length
      • Assuming sorted() changes original list
      • Misreading the order of output
      4. Find the error in this code snippet:
      numbers = [3, 1, 4, 1, 5]
      sorted_numbers = sorted(numbers, key='abs')
      print(sorted_numbers)
      medium
      A. sorted() cannot sort numbers
      B. Missing parentheses after sorted
      C. key argument should be a function, not a string
      D. reverse argument is required

      Solution

      1. Step 1: Check the key argument type

        The key parameter must be a function, like abs, not a string.
      2. Step 2: Identify the error

        Here, key='abs' is a string, which causes a TypeError.
      3. Final Answer:

        key argument should be a function, not a string -> Option C
      4. Quick Check:

        key needs a function, not string [OK]
      Hint: Pass function to key, not string name [OK]
      Common Mistakes:
      • Passing string instead of function to key
      • Thinking sorted() can't sort numbers
      • Forgetting parentheses in function calls
      5. You have a list of tuples representing people and their ages:
      people = [('Alice', 30), ('Bob', 25), ('Charlie', 35), ('David', 25)]
      How do you use sorted() to sort this list by age ascending, and if ages are equal, by name alphabetically?
      hard
      A. sorted(people, key=lambda x: (x[0], x[1]))
      B. sorted(people, key=lambda x: (x[1], x[0]))
      C. sorted(people, key=lambda x: x[1])
      D. sorted(people, key=lambda x: x[0])

      Solution

      1. Step 1: Understand sorting by multiple criteria

        To sort by age first, then by name if ages tie, use a tuple key with age first, then name.
      2. Step 2: Write the key function

        The lambda lambda x: (x[1], x[0]) returns a tuple (age, name) for sorting.
      3. Step 3: Check other options

        The option sorting by name then age is incorrect. Options sorting by only one field are wrong.
      4. Final Answer:

        sorted(people, key=lambda x: (x[1], x[0])) -> Option B
      5. Quick Check:

        Use tuple key (age, name) for multi-level sort [OK]
      Hint: Use tuple in key: (age, name) for multi-level sorting [OK]
      Common Mistakes:
      • Sorting by name before age
      • Using single key instead of tuple
      • Confusing tuple order in key function