Bird
Raised Fist0
Pythonprogramming~5 mins

Sorting and reversing lists 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 list.sort() method do in Python?
It sorts the list in place, changing the original list to be in ascending order by default.
Click to reveal answer
beginner
How do you reverse the order of elements in a list in Python?
You can use the list.reverse() method to reverse the list in place, or use slicing like list[::-1] to get a reversed copy.
Click to reveal answer
intermediate
What is the difference between sorted(list) and list.sort()?
sorted(list) returns a new sorted list and leaves the original unchanged. list.sort() sorts the list in place and returns None.
Click to reveal answer
beginner
How can you sort a list in descending order?
Use list.sort(reverse=True) or sorted(list, reverse=True) to sort the list from highest to lowest.
Click to reveal answer
intermediate
What happens if you call list.reverse() twice on the same list?
The list will return to its original order because reversing twice cancels out the first reversal.
Click to reveal answer
Which method sorts a list in place in Python?
Alist.sorted()
Bsorted(list)
Clist.reverse()
Dlist.sort()
What does list.reverse() do?
AReverses the list in place
BReturns a new reversed list
CSorts the list in ascending order
DSorts the list in descending order
How do you get a new sorted list without changing the original?
Alist.reverse()
Blist.sort()
Csorted(list)
Dlist.sorted()
Which argument sorts a list in descending order?
Areverse=False
Breverse=True
Cdescending=True
Dorder='desc'
What is the result of calling list.reverse() twice?
AList returns to original order
BList is sorted descending
CList is empty
DList is sorted ascending
Explain how to sort a list and then reverse it in Python.
Think about using two methods one after the other.
You got /4 concepts.
    Describe the difference between sorted() and list.sort().
    One changes the original list, the other does not.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the list.sort() method do to a list in Python?
      easy
      A. It arranges the list items in ascending order.
      B. It reverses the order of the list items.
      C. It removes duplicate items from the list.
      D. It creates a new sorted list without changing the original.

      Solution

      1. Step 1: Understand the purpose of list.sort()

        The list.sort() method changes the original list to arrange its items in ascending order.
      2. Step 2: Differentiate from other list methods

        Unlike list.reverse(), which flips the list order, list.sort() orders items from smallest to largest.
      3. Final Answer:

        It arranges the list items in ascending order. -> Option A
      4. Quick Check:

        list.sort() = ascending order [OK]
      Hint: Remember: sort() orders ascending by default [OK]
      Common Mistakes:
      • Confusing sort() with reverse()
      • Thinking sort() returns a new list
      • Assuming sort() removes duplicates
      2. Which of the following is the correct syntax to sort a list named numbers in descending order?
      easy
      A. numbers.sort(reverse=True)
      B. numbers.sort(reverse=1)
      C. numbers.sort(descending=True)
      D. numbers.reverse(sort=True)

      Solution

      1. Step 1: Identify correct parameter for descending sort

        The sort() method accepts reverse=True to sort in descending order.
      2. Step 2: Check syntax correctness

        numbers.sort(reverse=True) uses the correct syntax: numbers.sort(reverse=True). Other options use invalid parameters or method calls.
      3. Final Answer:

        numbers.sort(reverse=True) -> Option A
      4. Quick Check:

        sort(reverse=True) = descending order [OK]
      Hint: Use reverse=True inside sort() for descending order [OK]
      Common Mistakes:
      • Using reverse=1 instead of reverse=True
      • Using non-existent parameters like descending=True
      • Calling reverse() with parameters
      3. What is the output of the following code?
      items = [3, 1, 4, 2]
      items.sort()
      items.reverse()
      print(items)
      medium
      A. [1, 2, 3, 4]
      B. [3, 1, 4, 2]
      C. [4, 3, 2, 1]
      D. [2, 3, 1, 4]

      Solution

      1. Step 1: Apply items.sort()

        This sorts the list in ascending order: [1, 2, 3, 4].
      2. Step 2: Apply items.reverse()

        This reverses the sorted list, resulting in [4, 3, 2, 1].
      3. Final Answer:

        [4, 3, 2, 1] -> Option C
      4. Quick Check:

        sort() then reverse() = descending list [OK]
      Hint: sort() then reverse() = descending order [OK]
      Common Mistakes:
      • Thinking reverse() sorts the list
      • Assuming print shows original list
      • Confusing order of method calls
      4. The following code is intended to sort the list data in descending order. What is wrong?
      data = [5, 2, 9, 1]
      data.reverse()
      data.sort()
      print(data)
      medium
      A. The code will cause a syntax error.
      B. The reverse() call should come after sort().
      C. The sort() method does not exist for lists.
      D. The list is already sorted, so no change happens.

      Solution

      1. Step 1: Analyze method order

        The code reverses the list first, then sorts it ascending, which cancels the reverse effect.
      2. Step 2: Correct method order for descending sort

        To get descending order, first sort ascending, then reverse the list.
      3. Final Answer:

        The reverse() call should come after sort(). -> Option B
      4. Quick Check:

        sort() then reverse() = descending order [OK]
      Hint: Sort first, then reverse for descending order [OK]
      Common Mistakes:
      • Reversing before sorting cancels sorting effect
      • Thinking reverse() sorts the list
      • Assuming method order does not matter
      5. You have a list of words: words = ['apple', 'banana', 'cherry', 'date']. You want to sort them in reverse alphabetical order without changing the original list. Which code snippet achieves this?
      hard
      A. sorted_words = words.sort(reverse=True)
      B. words.sort(reverse=True)
      C. words.reverse(); words.sort()
      D. sorted_words = sorted(words, reverse=True)

      Solution

      1. Step 1: Understand difference between sort() and sorted()

        sort() changes the original list; sorted() returns a new sorted list.
      2. Step 2: Choose method that sorts in reverse without changing original

        Using sorted(words, reverse=True) returns a new list sorted in reverse alphabetical order, leaving words unchanged.
      3. Final Answer:

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

        sorted() returns new sorted list [OK]
      Hint: Use sorted() to keep original list unchanged [OK]
      Common Mistakes:
      • Using sort() which changes original list
      • Chaining reverse() before sort() incorrectly
      • Assigning sort() result which is None