Bird
Raised Fist0
Pythonprogramming~5 mins

String slicing behavior 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 slice notation string[start:end] do in Python?
It extracts a part of the string starting from index start up to but not including index end.
Click to reveal answer
beginner
What happens if you omit the start index in a slice like string[:end]?
The slice starts from the beginning of the string (index 0) and goes up to but not including end.
Click to reveal answer
intermediate
How does negative indexing work in string slicing, for example string[-3:-1]?
Negative indexes count from the end of the string. -1 is the last character, -2 the second last, and so on. So string[-3:-1] slices from the third last character up to but not including the last character.
Click to reveal answer
intermediate
What does the third parameter in slicing string[start:end:step] control?
It controls the step size or how many characters to skip. For example, a step of 2 takes every second character in the slice.
Click to reveal answer
beginner
What is the result of slicing if start is greater than or equal to end with a positive step?
The result is an empty string because slicing goes forward and cannot start after the end index.
Click to reveal answer
What does "hello"[1:4] return?
A"ello"
B"hel"
C"ell"
D"lo"
What is the output of "world"[:3]?
A"wor"
B"rld"
C"worl"
D"ld"
What does "python"[-4:-1] return?
A"tho"
B"oht"
Ctho"
D"yth"
What is the result of "abcdef"[::2]?
A"bdf"
B"ace"
C"abcdef"
D"fedcba"
What does "hello"[4:2] return?
A"" (empty string)
B"lo"
C"ll"
D"hel"
Explain how string slicing works in Python including start, end, and step parameters.
Think about how you cut a piece from a string like a slice of cake.
You got /4 concepts.
    Describe how negative indexes affect string slicing and give an example.
    Imagine counting backwards from the end of a string.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the slice s[2:5] do on the string s = 'Python'?
      easy
      A. Extracts characters from index 5 to index 2
      B. Extracts characters from index 2 to index 5 including both
      C. Extracts characters from the start to index 5
      D. Extracts characters from index 2 up to but not including index 5

      Solution

      1. Step 1: Understand slice notation s[start:stop]

        The slice includes the start index but excludes the stop index.
      2. Step 2: Apply to s = 'Python' with s[2:5]

        Characters at indices 2, 3, 4 are 't', 'h', 'o'. Index 5 is excluded.
      3. Final Answer:

        Extracts characters from index 2 up to but not including index 5 -> Option D
      4. Quick Check:

        Slice excludes stop index [OK]
      Hint: Remember stop index is excluded in slicing [OK]
      Common Mistakes:
      • Including the stop index character
      • Confusing start and stop positions
      • Thinking slicing reverses string by default
      2. Which of the following is the correct syntax to get every second character from string s starting from the first character?
      easy
      A. s[:2:2]
      B. s[2::]
      C. s[::2]
      D. s[1:2]

      Solution

      1. Step 1: Understand slice syntax s[start:stop:step]

        The step value controls the interval between characters taken.
      2. Step 2: Identify correct syntax for every second character from start

        s[::2] means start at 0, go to end, step by 2, so every second character.
      3. Final Answer:

        s[::2] -> Option C
      4. Quick Check:

        Step controls interval [OK]
      Hint: Use empty start and stop with step for intervals [OK]
      Common Mistakes:
      • Using wrong start index
      • Confusing step with stop
      • Using slice with only two colons incorrectly
      3. What is the output of the following code?
      s = 'abcdefg'
      print(s[5:2:-1])
      medium
      A. 'cde'
      B. 'fed'
      C. 'edc'
      D. 'gfed'

      Solution

      1. Step 1: Understand slicing with negative step

        Negative step means slicing backwards. Start at index 5, stop before index 2.
      2. Step 2: Extract characters from s = 'abcdefg'

        Index 5 is 'f', then 'e' at 4, then 'd' at 3. Stop before 2 means exclude index 2 ('c'). So result is 'fed'.
      3. Final Answer:

        'fed' -> Option B
      4. Quick Check:

        Negative step slices backwards excluding stop [OK]
      Hint: Negative step slices backward excluding stop index [OK]
      Common Mistakes:
      • Including stop index when stepping backwards
      • Confusing forward and backward slicing
      • Misreading indices for negative step
      4. Find the error in this code snippet:
      s = 'hello'
      print(s[4:1])
      medium
      A. No error, prints empty string
      B. No error, prints 'llo'
      C. SyntaxError due to invalid slice
      D. RuntimeError due to wrong indices

      Solution

      1. Step 1: Analyze slice s[4:1]

        Start index 4, stop index 1, default step is +1, so slice moves forward.
      2. Step 2: Understand slice behavior when start > stop with positive step

        Since start is after stop and step is positive, slice returns empty string without error.
      3. Final Answer:

        No error, prints empty string -> Option A
      4. Quick Check:

        Forward slice with start > stop = empty string [OK]
      Hint: Forward slice with start > stop returns empty string [OK]
      Common Mistakes:
      • Expecting an error for invalid slice
      • Expecting reversed substring without negative step
      • Confusing slice indices order
      5. Given s = 'abcdefgh', which slice extracts the string 'hgfed'?
      hard
      A. s[7:2:-1]
      B. s[7:3:-1]
      C. s[7:1:-1]
      D. s[7:0:-1]

      Solution

      1. Step 1: Identify characters in 'hgfed'

        These are characters at indices 7 ('h'), 6 ('g'), 5 ('f'), 4 ('e'), 3 ('d').
      2. Step 2: Check slice s[7:2:-1]

        Start at index 7 ('h'), move backward to index 3 (stop before 2), so includes indices 7 to 3. This matches 'hgfed'.
      3. Final Answer:

        s[7:2:-1] -> Option A
      4. Quick Check:

        Negative step excludes stop index [OK]
      Hint: Negative step excludes stop index, count backward carefully [OK]
      Common Mistakes:
      • Including stop index in negative step slice
      • Choosing wrong stop index
      • Confusing slice direction with step sign