Bird
Raised Fist0
PyTorchml~5 mins

Indexing and slicing in PyTorch - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is indexing in PyTorch tensors?
Indexing means selecting a single element from a tensor using its position, like picking one item from a list by its number.
Click to reveal answer
beginner
How does slicing work in PyTorch tensors?
Slicing means selecting a range of elements from a tensor, similar to cutting a piece from a loaf of bread by specifying start and end positions.
Click to reveal answer
beginner
What does the colon ':' symbol mean in tensor slicing?
The ':' means 'take all elements' along that dimension, like saying 'give me everything in this row or column'.
Click to reveal answer
intermediate
How do you select the first 3 rows and last 2 columns of a 2D tensor in PyTorch?
Use slicing like tensor[:3, -2:] which means 'rows from start to 3 (not including 3)' and 'last 2 columns'.
Click to reveal answer
intermediate
What happens if you use a negative index in PyTorch tensor indexing?
Negative index counts from the end, so -1 means the last element, -2 means second last, just like counting backwards in a list.
Click to reveal answer
In PyTorch, what does tensor[2] select?
AThe second element along the first dimension
BThe third element along the first dimension
CAll elements except the third
DThe last element
What does tensor[:, 1:4] do?
ASelects all rows and columns 1 to 3
BSelects rows 1 to 4 and all columns
CSelects only the first row and columns 1 to 4
DSelects all rows and columns 1 to 4
How do you select the last element of a tensor?
Atensor[-1]
Btensor[0]
Ctensor[1]
Dtensor[last]
What does tensor[1:5:2] mean?
ASelect elements from index 1 to 5, stepping by 2
BSelect elements from index 1 to 5, stepping by 1
CSelect elements from index 2 to 5, stepping by 2
DSelect elements from index 1 to 4, stepping by 2
If tensor is 3D, what does tensor[:, 0, :] select?
AAll elements in the first slice of the first dimension
BAll elements in the last slice of the third dimension
CAll elements in the first slice of the second dimension
DOnly the first element of the tensor
Explain how to use indexing and slicing to select parts of a PyTorch tensor.
Think about how you pick items from a list or a grid.
You got /4 concepts.
    Describe how negative indices work in PyTorch tensor indexing and slicing.
    Imagine counting backwards from the end of a line.
    You got /4 concepts.

      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