Join Our 4-Week Free Gen AI Course with select Programs.

Request a callback

or Chat with us on

String Slicing in Python – Explained with Examples

Basics of SQL
Basics of SQL
icon
12 Hrs. duration
icon
12 Modules
icon
2600+ Learners
logo
Start Learning

Ever struggled with getting specific parts out of a long string? Want to know the best way to chop up strings in Python? String slicing is the answer.

 

String slicing in Python is fundamental for any programmer, and therefore it is important that anyone who will be developing software in Python must learn it. Whether it is a text-processing problem or a data-mining problem, or any problem that involves strings, the exact or efficient method of selecting and manipulating strings is vital.

 

There are two methods of string slicing:

 

  1. Using the slice() Method
  2. Using the Array Slicing [::] Method

 

In this article, we will first understand what string slicing in Python is, and then we will understand how to use it in Python. We will begin with the simplest types of working with strings, such as indexes, and cover different methods of slicing with examples.

The Basics of String Indexing

Before diving into the concept of String slicing, first we need to understand what string indexing is.

 

A string is nothing but a sequence of characters when each character has a special position or index. We can mark indexing in a string in two ways: positive indexing and negative indexing.

 

Let’s break it down:

 

  • Positive Indexing: They start at 0 and go through the lengths of the string and come up with the number – 1. For instance, ‘P’ of the string ‘Python’ would be referred to as index 0 while ‘y’ would be index 1 and so on.

 

Let’s break it down:

 

  • Positive Indexing: The first character is marked as zero (0). For example, in the string “Python”, ‘P’ is at index 0, ‘y’ at index 1, and so on.
text = "Python" print(text[0])  # Output: P print(text[1])  # Output: y
  • Negative Indexing: Starts from -1 for the last character and goes backwards. For example, in the string “Python”, ‘-1’ refers to ‘n’, ‘-2’ to ‘o’, and so forth.
text = "Python" print(text[-1])  # Output: n print(text[-2])  # Output: o

[n:] vs [:n]

  • [n:]-> Start at the beginning and go up to, but not including, index n.
  • [:n]-> Start at index n and go to the end.

Using the slice() Method

The slice() method creates a slice object, which we can use to specify the start, stop, and step of the slice.

  • start: The starting index of the slice.
  • stop: The index where the slice stops (not included).
  • step: The step size (default is 1).

Here’s the syntax:

  • slice(stop)
  • slice(start, stop, step)

Let’s see it in action. We’ll use the string “HelloWorld”.

text = "HelloWorld" s1 = slice(5)  # Equivalent to text[:5] s2 = slice(2, 8, 2)  # text[2:8:2] print(text[s1])  # Output: Hello print(text[s2])  # Output: loW

Output Explanation

 

slice(5)

 

  • slice(5): This creates a slice object that starts at the beginning of the string and goes up to, but does not include index 5.
  • text[s1]: Equivalent to text[:5], which means “take characters from the start of the string up to, but not including, index 5”.

 

Let’s look at the string text = “HelloWorld”:

 

Index: 0 1 2 3 4 5 6 7 8 9
String: H E E L O W O R L D

 

When we apply text[:5], we get the first five characters:

 

text[:5] = “Hello”

 

So, print(text[s1]) outputs Hello.

 

slice(2, 8, 2)

 

  • slice(2, 8, 2): This creates a slice object that starts at index 2, stops before index 8, and takes every second character (step size of 2).
  • text[s2]: Equivalent to text[2:8:2], which means “start at index 2, go up to, but not including, index 8, and take every second character”.

 

When we apply text[2:8:2], we get the characters at indices 2, 4, and 6:

 

  • Index 2: l
  • Index 4: o
  • Index 6: W

 

So, text[2:8:2] results in: “loW”

 

Therefore, print(text[s2]) outputs loW.

Using the Array Slicing [::] Method

Python’s array slicing syntax [start:stop:step] is a shorthand way to perform slicing. It does the same thing as slice() but is easier to read and write.

 

Let’s rewrite the previous examples using this method:

text = "HelloWorld" print(text[:5])  # Output: Hello print(text[2:8:2])  # Output: loW

Examples of String Slicing in Python

When working with strings in Python, we often need to extract specific parts. String slicing helps us do that efficiently.

 

Here are some practical examples that showcase the power of string slicing in Python.

 

Example 1: Slicing the first few characters

 

Suppose we have the string “LearningPython“. We want to extract just “Learning”.

text = "LearningPython" print(text[:8])  # Output: Learning

Example 2: Slicing from the middle

Now, let’s extract “Python” from the same string.

text = "LearningPython" print(text[8:])  # Output: Python

Advanced Slicing with Steps

Sometimes, we need to skip characters while slicing. This is where the step value becomes useful.

Example 3: Skipping characters

Consider the string “PythonProgramming”. We want to skip every second character.

text = "PythonProgramming" print(text[::2])  # Output: PtoPormig

Example 4: Using start, stop, and step

What if we want to start from the second character, end at the tenth, and skip every second character?

text = "PythonProgramming" print(text[1:10:2])  # Output: yhnP
DevOps & Cloud Engineering
Internship Assurance
DevOps & Cloud Engineering

Using Negative Indexes for String Slicing

Negative indexing allows us to slice strings from the end.

Example 5: Slicing with negative indexes

Let’s take the string “HelloWorld” and get the last five characters.

text = "HelloWorld" print(text[-5:])  # Output: World

Example 6: Combining negative indexes and steps

We can also combine negative indexes with steps. Suppose we want every second character from the last five characters.

text = "HelloWorld" print(text[-5::2])  # Output: Wrd

Reversing Strings with Slicing

Reversing a string is straightforward with slicing.

Example 7: Reversing a string

Let’s reverse the string “Python”.

text = "Python" print(text[::-1])  # Output: nohtyP

Example 8: Reversing a specific part

Suppose we want to reverse only the first six characters of “PythonProgramming”.

text = "PythonProgramming" print(text[:6][::-1])  # Output: nohtyP

Applying String Slicing on Lists and Tuples

String slicing isn’t limited to strings. We can use the same techniques on lists and tuples. This is especially useful when we need to work with parts of a collection.

Example 1: Slicing a list

Let’s take a list of numbers and slice it.

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(numbers[2:8])  # Output: [2, 3, 4, 5, 6, 7]

Example 2: Slicing with steps in a list

We can also use steps to skip elements in a list.

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(numbers[1:9:2])  # Output: [1, 3, 5, 7]

Example 3: Slicing a tuple

Tuples work just like lists when it comes to slicing.

letters = ('a', 'b', 'c', 'd', 'e', 'f', 'g') print(letters[1:5])  # Output: ('b', 'c', 'd', 'e')

Example 4: Slicing with negative indexes in a tuple

We can also use negative indexes in tuples.

letters = ('a', 'b', 'c', 'd', 'e', 'f', 'g') print(letters[-5:-1])  # Output: ('c', 'd', 'e', 'f')

Example 5: Reversing a list with slicing

Reversing works for lists and tuples, too.

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(numbers[::-1])  # Output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

Conclusion

String slicing in Python is one of the most versatile features which makes many tasks easier and convenient. In this blog, we learnt about string slicing in Python, touching on the basic concept of indexing, different types of slicing, and even examples.

 

We learned how to slice strings, lists, and tuples, as well as use steps and reverse strings. String slicing can thus be described as a very useful tool for data handling.

 

To be specific, these techniques help us manage most tasks better. Keep practising to harness the full power of string slicing in your coding projects.

FAQs
  • The slice() method creates a slice object that can be used in any sequence.
  • Array slicing [::] is a shorthand specific to sequences like lists and strings.
  • Yes, negative indices can be used to access elements from the end of the string or sequence.
  • If the start index is greater than the stop index, Python will return an empty string or sequence.
  • Yes, string slicing can be applied to any sequence type, including lists, tuples, and ranges.
  • No, strings in Python are immutable. Slicing can create new strings, but it cannot modify the original string.

Deploying Applications Over the Cloud Using Jenkins

Prashant Kumar Dey

Prashant Kumar Dey

Associate Program Director - Hero Vired

Ex BMW | Google

19 October, 12:00 PM (IST)

Limited Seats Left

Book a Free Live Class

left dot patternright dot pattern

Programs tailored for your success

Popular

Management

Data Science

Finance

Technology

Future Tech

Upskill with expert articles

View all
Hero Vired logo
Hero Vired is a leading LearnTech company dedicated to offering cutting-edge programs in collaboration with top-tier global institutions. As part of the esteemed Hero Group, we are committed to revolutionizing the skill development landscape in India. Our programs, delivered by industry experts, are designed to empower professionals and students with the skills they need to thrive in today’s competitive job market.

Data Science

Accelerator Program in Business Analytics & Data Science

Integrated Program in Data Science, AI and ML

Accelerator Program in AI and Machine Learning

Advanced Certification Program in Data Science & Analytics

Technology

Certificate Program in Full Stack Development with Specialization for Web and Mobile

Certificate Program in DevOps and Cloud Engineering

Certificate Program in Application Development

Certificate Program in Cybersecurity Essentials & Risk Assessment

Finance

Integrated Program in Finance and Financial Technologies

Certificate Program in Financial Analysis, Valuation and Risk Management

Management

Certificate Program in Strategic Management and Business Essentials

Executive Program in Product Management

Certificate Program in Product Management

Certificate Program in Technology-enabled Sales

Future Tech

Certificate Program in Gaming & Esports

Certificate Program in Extended Reality (VR+AR)

Professional Diploma in UX Design

Blogs
Reviews
Events
In the News
About Us
Contact us
Learning Hub
18003093939     ·     hello@herovired.com     ·    Whatsapp
Privacy policy and Terms of use

© 2024 Hero Vired. All rights reserved