Bird
Raised Fist0
Pythonprogramming~10 mins

Tuple indexing and slicing 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 get the first element of the tuple.

Python
my_tuple = (10, 20, 30)
first_element = my_tuple[1]
Drag options to blanks, or click blank then click option'
A[0]
B<0>
C{0}
D(0)
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using parentheses instead of square brackets for indexing.
Using curly braces or angle brackets which are invalid for indexing.
2fill in blank
medium

Complete the code to get the last element of the tuple using negative indexing.

Python
my_tuple = ('a', 'b', 'c', 'd')
last_element = my_tuple[1]
Drag options to blanks, or click blank then click option'
A[1]
B[-1]
C[-4]
D[0]
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using positive index 1 which gives the second element.
Using -4 which gives the first element but is less clear.
3fill in blank
hard

Fix the error in the code to slice the tuple from index 1 to 3 (excluding 3).

Python
my_tuple = (5, 10, 15, 20, 25)
slice_part = my_tuple[1]
Drag options to blanks, or click blank then click option'
A{1:3}
B(1:3)
C[1,3]
D[1:3]
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using parentheses instead of square brackets for slicing.
Using comma instead of colon inside the brackets.
4fill in blank
hard

Fill both blanks to get a slice of the tuple from the second element to the end.

Python
my_tuple = ('x', 'y', 'z', 'w')
slice_part = my_tuple[1][2]
Drag options to blanks, or click blank then click option'
A[1:
B1:
C]
D:]
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Forgetting the closing bracket.
Using parentheses instead of square brackets.
5fill in blank
hard

Complete the code to get every second element from the tuple starting at index 0.

Python
my_tuple = (2, 4, 6, 8, 10, 12)
slice_part = my_tuple[[1]]
Drag options to blanks, or click blank then click option'
A[
B::2
C]
D:
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Missing the closing bracket.
Using single colon instead of double colon for step.

Practice

(1/5)
1.

What does my_tuple[2] return if my_tuple = (10, 20, 30, 40)?

easy
A. 30
B. 20
C. 40
D. 10

Solution

  1. Step 1: Understand tuple indexing

    Indexing starts at 0, so index 2 means the third item in the tuple.
  2. Step 2: Identify the item at index 2

    The tuple is (10, 20, 30, 40), so the item at index 2 is 30.
  3. Final Answer:

    30 -> Option A
  4. Quick Check:

    Index 2 in tuple = 30 [OK]
Hint: Remember: indexing starts at zero in tuples [OK]
Common Mistakes:
  • Counting from 1 instead of 0
  • Confusing index 2 with index 3
  • Mixing up tuple with list indexing
2.

Which of the following is the correct syntax to get the last item of a tuple t?

easy
A. t[1]
B. t[-1]
C. t[last]
D. t[len(t)]

Solution

  1. Step 1: Recall negative indexing in tuples

    Negative index -1 accesses the last item in a tuple.
  2. Step 2: Check each option

    t[-1] correctly accesses the last item. t[1] accesses second item, t[last] is invalid syntax, t[len(t)] causes IndexError because indexing starts at 0.
  3. Final Answer:

    t[-1] -> Option B
  4. Quick Check:

    Last item index = -1 [OK]
Hint: Use -1 to get last item from any tuple [OK]
Common Mistakes:
  • Using len(t) as index (out of range)
  • Trying to use variable 'last' as index
  • Confusing positive and negative indexes
3.

What is the output of this code?

t = (5, 10, 15, 20, 25)
print(t[1:4])

medium
A. (10, 15, 20)
B. (10, 15, 20, 25)
C. (5, 10, 15)
D. (15, 20, 25)

Solution

  1. Step 1: Understand slicing syntax

    Slicing t[1:4] means start at index 1 up to but not including index 4.
  2. Step 2: Extract the slice from the tuple

    Tuple is (5, 10, 15, 20, 25). Index 1 is 10, index 2 is 15, index 3 is 20. Index 4 (25) is excluded.
  3. Final Answer:

    (10, 15, 20) -> Option A
  4. Quick Check:

    Slicing excludes end index [OK]
Hint: Slice excludes the end index, so stop before it [OK]
Common Mistakes:
  • Including the end index in slice
  • Confusing indexes with values
  • Using parentheses instead of brackets for slicing
4.

Find the error in this code:

t = (1, 2, 3, 4, 5)
print(t[5])

medium
A. Prints 5
B. SyntaxError
C. IndexError: tuple index out of range
D. Prints 1

Solution

  1. Step 1: Check tuple length and indexing

    Tuple has 5 items indexed 0 to 4. Index 5 is outside this range.
  2. Step 2: Understand what happens when accessing invalid index

    Accessing t[5] causes an IndexError because the index is out of range.
  3. Final Answer:

    IndexError: tuple index out of range -> Option C
  4. Quick Check:

    Index must be less than length [OK]
Hint: Index must be less than tuple length [OK]
Common Mistakes:
  • Using index equal to length
  • Confusing SyntaxError with IndexError
  • Assuming last index is length instead of length-1
5.

Given t = (2, 4, 6, 8, 10, 12), which expression returns a tuple with every second item starting from the last item going backwards?

hard
A. t[1::2]
B. t[::2]
C. t[-2::-1]
D. t[::-2]

Solution

  1. Step 1: Understand slicing with negative step

    A negative step means slicing backwards. t[::-2] starts from the end and takes every second item backwards.
  2. Step 2: Check what t[::-2] returns

    Tuple is (2,4,6,8,10,12). t[::-2] picks 12 (last), 8, 4, resulting in (12, 8, 4).
  3. Final Answer:

    t[::-2] -> Option D
  4. Quick Check:

    Negative step slices backwards skipping items [OK]
Hint: Use negative step in slice to go backwards [OK]
Common Mistakes:
  • Using positive step for backward slicing
  • Starting slice incorrectly
  • Confusing slice start and step positions