Bird
Raised Fist0
Pythonprogramming~15 mins

sorted() function in Python - Mini Project: Build & Apply

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
Sorting a List of Fruits Alphabetically
๐Ÿ“– Scenario: You have a list of fruits that you want to organize alphabetically, just like arranging books on a shelf in order.
๐ŸŽฏ Goal: Learn how to use the sorted() function in Python to sort a list of items alphabetically.
๐Ÿ“‹ What You'll Learn
Create a list called fruits with the exact items: 'banana', 'apple', 'cherry', 'date'
Create a variable called sorted_fruits to store the sorted list
Use the sorted() function to sort the fruits list
Print the sorted_fruits list to show the result
๐Ÿ’ก Why This Matters
๐ŸŒ Real World
Sorting lists is useful when you want to organize items like names, products, or any data alphabetically or by some order.
๐Ÿ’ผ Career
Many jobs require sorting data to make it easier to search, analyze, or display neatly, such as in data entry, programming, or report generation.
Progress0 / 4 steps
1
Create the list of fruits
Create a list called fruits with these exact items in this order: 'banana', 'apple', 'cherry', 'date'
Python
Hint

Use square brackets [] to create a list and separate items with commas.

2
Prepare a variable for the sorted list
Create a variable called sorted_fruits to hold the sorted list of fruits
Python
Hint

Just create an empty list variable for now; we will fill it next.

3
Sort the list using sorted()
Use the sorted() function to sort the fruits list and assign the result to sorted_fruits
Python
Hint

Call sorted(fruits) and assign it to sorted_fruits.

4
Print the sorted list
Print the sorted_fruits list to display the sorted fruits
Python
Hint

Use print(sorted_fruits) to show the sorted list.

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