Bird
Raised Fist0
PyTorchml~10 mins

Indexing and slicing in PyTorch - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to select the first row of the tensor.

PyTorch
import torch
x = torch.tensor([[1, 2], [3, 4], [5, 6]])
first_row = x[1]
Drag options to blanks, or click blank then click option'
A[0]
B[1]
C[:, 0]
D[0, :]
Attempts:
3 left
💡 Hint
Common Mistakes
Using index 1 instead of 0 to get the first row.
Using slicing syntax instead of indexing.
2fill in blank
medium

Complete the code to select the last column of the tensor.

PyTorch
import torch
x = torch.tensor([[1, 2, 3], [4, 5, 6]])
last_col = x[1]
Drag options to blanks, or click blank then click option'
A[0, -1]
B[-1, :]
C[:, -1]
D[:, 0]
Attempts:
3 left
💡 Hint
Common Mistakes
Using row index -1 instead of column index -1.
Swapping row and column indices.
3fill in blank
hard

Fix the error in the code to correctly slice the tensor to get rows 1 and 2.

PyTorch
import torch
x = torch.tensor([[10, 20], [30, 40], [50, 60]])
subset = x[1]
Drag options to blanks, or click blank then click option'
A[1:2]
B[1, 3]
C[1;3]
D[1:3]
Attempts:
3 left
💡 Hint
Common Mistakes
Using a comma instead of colon in slicing.
Using incorrect stop index.
4fill in blank
hard

Fill both blanks to select the middle column and rows 0 and 1.

PyTorch
import torch
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
subset = x[1][2]
Drag options to blanks, or click blank then click option'
A[0:2]
B[1]
C[:, 1]
D[1:3]
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping row and column indices.
Using incorrect slice ranges.
5fill in blank
hard

Fill all three blanks to create a tensor slice with rows 1 to 2 and columns 0 to 1.

PyTorch
import torch
x = torch.tensor([[5, 10, 15], [20, 25, 30], [35, 40, 45]])
subset = x[1][2][3]
Drag options to blanks, or click blank then click option'
A[1:3]
B[:, 0:2]
C[0:2]
D[:, 1:3]
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up row and column slices.
Using incorrect slice indices.

Practice

(1/5)
1. What does the expression tensor[2] do in PyTorch when tensor is a 1D tensor?
easy
A. Selects every second element starting at index 2
B. Selects elements from index 0 to 2
C. Selects the element at index 2
D. Raises an error because indexing starts at 1

Solution

  1. Step 1: Understand 1D tensor indexing

    In PyTorch, indexing a 1D tensor with [2] picks the element at position 2 (0-based index).
  2. Step 2: Confirm indexing behavior

    Since indexing starts at 0, tensor[2] returns the third element.
  3. Final Answer:

    Selects the element at index 2 -> Option C
  4. Quick Check:

    Indexing with a single integer picks one element [OK]
Hint: Single index picks one element by position [OK]
Common Mistakes:
  • Thinking indexing starts at 1
  • Confusing slicing with indexing
  • Expecting a range instead of one element
2. Which of the following is the correct syntax to slice a 1D tensor t to get elements from index 1 to 4 (excluding 4)?
easy
A. t(1:4)
B. t[1:4]
C. t[1-4]
D. t[1,4]

Solution

  1. Step 1: Recall slicing syntax

    Slicing uses start:stop inside square brackets to select elements from start index up to but not including stop index.
  2. Step 2: Check each option

    t[1:4] uses correct slicing syntax t[1:4]. Options A, B, and C use invalid syntax for slicing.
  3. Final Answer:

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

    Slicing uses colon inside brackets [OK]
Hint: Use colon inside brackets for slicing [OK]
Common Mistakes:
  • Using comma instead of colon for slicing
  • Using parentheses instead of brackets
  • Using minus sign instead of colon
3. Given the tensor t = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), what is the output of t[1:, :2]?
medium
A. [[5, 6], [8, 9]]
B. [[2, 3], [5, 6]]
C. [[1, 2], [4, 5]]
D. [[4, 5], [7, 8]]

Solution

  1. Step 1: Understand slicing t[1:, :2]

    1: means rows from index 1 to end (rows 1 and 2). :2 means columns from start to index 2 (columns 0 and 1).
  2. Step 2: Extract the sliced elements

    Rows 1 and 2 are [[4,5,6],[7,8,9]]. Taking columns 0 and 1 gives [[4,5],[7,8]].
  3. Final Answer:

    [[4, 5], [7, 8]] -> Option D
  4. Quick Check:

    Row slice 1: and col slice :2 gives [[4,5],[7,8]] [OK]
Hint: Rows after 1, columns before 2 slice tensor [OK]
Common Mistakes:
  • Mixing row and column indices
  • Including column index 2 mistakenly
  • Confusing slicing ranges
4. What is wrong with this code snippet?
import torch
t = torch.tensor([1, 2, 3, 4, 5])
print(t[::2, 1])
medium
A. Trying to index 2D on a 1D tensor
B. Slicing syntax is incorrect
C. Tensor is not created properly
D. Print statement missing parentheses

Solution

  1. Step 1: Analyze tensor shape

    The tensor t is 1D with shape (5,). It has only one dimension.
  2. Step 2: Check indexing used

    The code uses t[::2, 1] which tries to index two dimensions (rows and columns). This causes an error because t is 1D.
  3. Final Answer:

    Trying to index 2D on a 1D tensor -> Option A
  4. Quick Check:

    1D tensor cannot be indexed with two indices [OK]
Hint: Match number of indices to tensor dimensions [OK]
Common Mistakes:
  • Assuming 1D tensor can be indexed like 2D
  • Confusing slicing syntax with indexing
  • Ignoring tensor shape before indexing
5. You have a 3D tensor t with shape (4, 5, 6). Which indexing expression extracts all elements from the second dimension at index 3, across all batches and features?
hard
A. t[:, 3, :]
B. t[3, :, :]
C. t[:, :, 3]
D. t[3, 3, :]

Solution

  1. Step 1: Understand tensor dimensions

    Tensor shape is (4, 5, 6): first dim = batches, second dim = 5 elements, third dim = 6 features.
  2. Step 2: Select all batches, index 3 in second dim, all features

    Use : to select all in first and third dims, and 3 to select index 3 in second dim, so t[:, 3, :].
  3. Final Answer:

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

    Colon means all, index 3 picks second dim element [OK]
Hint: Use colon for all dims, index for specific dim [OK]
Common Mistakes:
  • Mixing dimension order
  • Using wrong index for dimension
  • Using single index for multiple dims
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard