Open In App
Related Articles

Python | Get the substring from given string using list slicing

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

Given a string, write a Python program to get the substring from given string using list slicing. Let’s try to get this using different examples.

What is substring?

A substring is a portion of a string. Python offers a variety of techniques for producing substrings, as well as for determining the index of a substring and more.

Syntax of list slicing

Syntax: myString[start:stop:step]

Parameter:

  • start: It is the index of the list where slicing starts.
  • stop: It is the index of the list where slicing ends.
  • step: It allows you to select nth item within the range start to stop.

Example 1: In this example, we will see how to take a substring from the end or from starting of the string. 

Python3

# Python3 code to demonstrate
# to create a substring from a string
 
# Initialising string
ini_string = 'xbzefdgstb'
 
# printing initial string and character
print("initial_strings : ", ini_string)
 
# creating substring from start of string
# define length upto which substring required
sstring_strt = ini_string[:2]
sstring_end = ini_string[3:]
 
# printing result
print("print resultant substring from start", sstring_strt)
print("print resultant substring from end", sstring_end)

                    

Output:

initial_strings :  xbzefdgstb
print resultant substring from start xb
print resultant substring from end efdgstb

Example 2: In this example, we will see how to create a string by taking characters from a certain positional gap. 

Python3

# Python3 code to demonstrate
# to create a substring from string
 
# Initialising string
ini_string = 'xbzefdgstb'
 
# printing initial string and character
print("initial_strings : ", ini_string)
 
# creating substring by taking element
# after certain position gap
# define length upto which substring required
sstring_alt = ini_string[::2]
sstring_gap2 = ini_string[::3]
 
# printing result
print("print resultant substring from start", sstring_alt)
print("print resultant substring from end", sstring_gap2)

                    

Output:

initial_strings :  xbzefdgstb
print resultant substring from start xzfgt
print resultant substring from end xegb

Example 3: In this example, we are considering both cases of taking strings from the middle with some positional gap between characters. 

Python3

# Python3 code to demonstrate
# to create a substring from string
 
# Initialising string
ini_string = 'xbzefdgstb'
 
# printing initial string and character
print ("initial_strings : ", ini_string)
 
# creating substring by taking element
# after certain position gap
# in defined length
sstring = ini_string[2:7:2]
 
# printing result
print ("print resultant substring", sstring)

                    

Output:

initial_strings :  xbzefdgstb
print resultant substring zfg

Approach #4: Using list slicing to get substrings from a given string:

Approach:

 Step size of 1 (no skipping):
This approach selects every character within the specified range of the string.

Step size of 2 (select every other item):
This approach selects every other character within the specified range of the string.

Step size of 3 (select every third item):
This approach selects every third character within the specified range of the string.

Step size of -1 (reverse order):
This approach selects every character within the specified range of the string in reverse order.

Step size of -2 (reverse order, select every other item):
This approach selects every other character within the specified range of the string in reverse order.

Step size of -3 (reverse order, select every third item):
This approach selects every third character within the specified range of the string in reverse order.

Python3

# Example 1: Get the first 3 characters of a string
myString = "Hello World"
substring = myString[0:3]
print(substring)  # Output: "Hel"
 
# Example 2: Get every other character in a string
myString = "abcdefghijklmnopqrstuvwxyz"
substring = myString[0:len(myString):2]
print(substring)  # Output: "acegikmoqsuwy"
 
# Example 3: Get a substring starting from the 4th character and skipping every third character
myString = "abcdefghijklmnopqrstuvwxyz"
substring = myString[3:len(myString):3]
print(substring)  # Output: "dgljmpsvy"

                    

Output
Hel
acegikmoqsuwy
dgjmpsvy

When the step size is 1 (i.e., no skipping), list slicing has a time complexity of O(stop-start) and a space complexity of O(stop-start), since it creates a new list containing the sliced elements.
When the step size is greater than 1, the time complexity of list slicing depends on the size of the sliced substring, since it only creates a new list containing the selected elements

. The space complexity is O(stop-start/step), since it only creates a new list containing a fraction of the original elements.
Using a negative step size allows you to slice the string in reverse order. The time and space complexity are the same as for a positive step size.



Last Updated : 26 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads