Bird
Raised Fist0
Pythonprogramming~10 mins

Nested lists in Python - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to access the first element of the first nested list.

Python
nested = [[1, 2], [3, 4]]
print(nested[1][0])
Drag options to blanks, or click blank then click option'
A[1]
B[0]
C[[0]]
D(0)
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using parentheses instead of square brackets.
Using the wrong index like [1] instead of [0].
2fill in blank
medium

Complete the code to print the length of the second nested list.

Python
nested = [[5, 6, 7], [8, 9]]
print(len(nested[1]))
Drag options to blanks, or click blank then click option'
A[1]
B[0]
C[2]
D1
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using index 0 instead of 1.
Trying to get length of the whole nested list instead of the inner list.
3fill in blank
hard

Fix the error in the code to correctly access the number 10 inside the nested list.

Python
numbers = [[4, 5], [6, 7, 8], [9, 10]]
print(numbers[1][1])
Drag options to blanks, or click blank then click option'
A[2]
B[3]
C[1]
D(2)
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using index 3 which is out of range.
Using parentheses instead of square brackets.
4fill in blank
hard

Fill both blanks to create a nested list with two inner lists, each containing numbers 1 to 3 and 4 to 6.

Python
nested = [[1], [2]]
print(nested)
Drag options to blanks, or click blank then click option'
A[1, 2, 3]
B[4, 5, 6]
C[7, 8, 9]
D[0, 1, 2]
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using wrong number ranges.
Putting numbers directly without lists.
5fill in blank
hard

Fill all three blanks to create a nested list comprehension that squares numbers 1 to 3 and 4 to 6 separately.

Python
nested_squares = [[x[1]2 for x in range([2], 4)], [x[1]2 for x in range(4, [3])] ]
print(nested_squares)
Drag options to blanks, or click blank then click option'
A**
B1
C4
D7
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using multiplication * instead of power **.
Wrong range start or end values.

Practice

(1/5)
1. What is a nested list in Python?
easy
A. A list with only one element
B. A list that contains other lists as its elements
C. A list that cannot be changed
D. A list that stores only numbers

Solution

  1. Step 1: Understand list elements

    A list can hold many types of elements, including other lists.
  2. Step 2: Define nested list

    A nested list is a list where some elements are themselves lists.
  3. Final Answer:

    A list that contains other lists as its elements -> Option B
  4. Quick Check:

    Nested list = list inside list [OK]
Hint: Think of a list inside another list [OK]
Common Mistakes:
  • Confusing nested list with single-level list
  • Thinking nested list is immutable
  • Assuming nested list holds only numbers
2. Which of the following is the correct syntax to create a nested list with two inner lists?
easy
A. [[1, 2], [3, 4]]
B. [1, 2, 3, 4]
C. [1, [2, 3], 4]
D. [[1, 2], 3, 4]

Solution

  1. Step 1: Identify nested list syntax

    A nested list has lists inside the main list, each enclosed in brackets.
  2. Step 2: Check options

    [[1, 2], [3, 4]] has two inner lists: [1, 2] and [3, 4], correctly nested.
  3. Final Answer:

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

    Two inner lists = double brackets [OK]
Hint: Look for double brackets for nested lists [OK]
Common Mistakes:
  • Using single brackets only
  • Mixing elements and lists incorrectly
  • Missing commas between inner lists
3. What is the output of the following code?
matrix = [[1, 2], [3, 4]]
print(matrix[1][0])
medium
A. 3
B. 1
C. 4
D. 2

Solution

  1. Step 1: Access outer list element

    matrix[1] accesses the second inner list: [3, 4].
  2. Step 2: Access inner list element

    matrix[1][0] accesses the first element of [3, 4], which is 3.
  3. Final Answer:

    3 -> Option A
  4. Quick Check:

    matrix[1][0] = 3 [OK]
Hint: First index outer list, second index inner list [OK]
Common Mistakes:
  • Mixing up indexes (using [0][1] instead)
  • Forgetting zero-based indexing
  • Confusing inner and outer list positions
4. Find the error in this code snippet:
data = [[1, 2], [3, 4]]
print(data[2][0])
medium
A. No error, output is 3
B. SyntaxError due to missing brackets
C. TypeError because data is not a list
D. IndexError because data[2] does not exist

Solution

  1. Step 1: Check list length

    data has two elements: indexes 0 and 1 only.
  2. Step 2: Accessing invalid index

    data[2] tries to access a third element which does not exist, causing IndexError.
  3. Final Answer:

    IndexError because data[2] does not exist -> Option D
  4. Quick Check:

    Index out of range = IndexError [OK]
Hint: Check list length before accessing index [OK]
Common Mistakes:
  • Assuming index 2 exists
  • Confusing syntax error with runtime error
  • Ignoring zero-based indexing
5. Given a nested list nums = [[1, 2, 3], [4, 5], [6]], which code correctly prints all elements in order?
hard
A. print(nums[0][0], nums[1][1], nums[2][0])
B. for i in range(len(nums)): print(nums[i])
C. for sublist in nums: for num in sublist: print(num)
D. for num in nums: print(num)

Solution

  1. Step 1: Understand nested iteration

    To print all elements, loop over each inner list, then each element inside it.
  2. Step 2: Analyze options

    for sublist in nums: for num in sublist: print(num) uses two loops: outer for sublist, inner for num, printing each number.
  3. Final Answer:

    for sublist in nums: for num in sublist: print(num) -> Option C
  4. Quick Check:

    Nested loops print all elements [OK]
Hint: Use nested loops to access nested list elements [OK]
Common Mistakes:
  • Printing inner lists instead of elements
  • Using single loop only
  • Hardcoding indexes without loops