Saturday, December 13, 2025
HomeLanguagesPython | Slice String from Tuple ranges

Python | Slice String from Tuple ranges

Sometimes, while working with data, we can have a problem in which we need to perform the removal from strings depending on specified substring ranges. Let’s discuss certain ways in which this task can be performed.

Method #1: Using loop + list slicing: This is the brute force task to perform this task. In this, we remake the String by carefully omitting the slice ranges using list slicing. The iteration of tuples is done by the loop. 

Python3




# Python3 code to demonstrate working of
# Slice String from Tuple ranges
# using loop + list slicing
 
# initialize list and string
test_list = [(2, 4), (5, 9), (13, 17), (24, 27)]
 
test_str = "neveropen is best forneveropen and programming"
 
# printing original list and string
print("The original list : " + str(test_list))
print("The original string : " + str(test_str))
 
# Slice String from Tuple ranges
# using loop + list slicing
for front, rear in reversed(test_list):
    test_str = test_str[: front] + test_str[rear + 1:]
 
# printing result
print("The String after slicing is : " + str(test_str))


Output : 

The original list : [(2, 4), (5, 9), (13, 17), (24, 27)]
The original string :neveropen is best forneveropen and programming
The String after slicing is :neveropenest foeks and programming

Time Complexity: O(n)
Auxiliary Space: O(n)

Method #2: Using join() + any() + generator expression: The combination of these functionalities can also be used to perform this task. In this, we perform the task of slicing using generator expression, and exclusion is handled by any(). The creation of a modified string is done by join(). 

Python3




# Python3 code to demonstrate working of
# Slice String from Tuple ranges
# using join() + any() + generator expression
 
# initialize list and string
test_list = [(2, 4), (5, 9), (13, 17), (24, 27)]
    
test_str = "neveropen is best forneveropen and programming"
 
# printing original list and string
print("The original list : " + str(test_list))
print("The original string : " + str(test_str))
 
# Slice String from Tuple ranges
# using join() + any() + generator expression
res = "".join(test_str[idx] for idx in range(len(test_str))\
 if not any(front <= idx <= rear for front, rear in test_list))
 
 
# printing result
print("The String after slicing is : " + str(res))


Output : 

The original list : [(2, 4), (5, 9), (13, 17), (24, 27)]
The original string :neveropen is best forneveropen and programming
The String after slicing is :neveropenest foeks and programming

Time Complexity: O(n)
Auxiliary Space: O(n)

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32447 POSTS0 COMMENTS
Milvus
105 POSTS0 COMMENTS
Nango Kala
6816 POSTS0 COMMENTS
Nicole Veronica
11952 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12031 POSTS0 COMMENTS
Shaida Kate Naidoo
6951 POSTS0 COMMENTS
Ted Musemwa
7202 POSTS0 COMMENTS
Thapelo Manthata
6898 POSTS0 COMMENTS
Umr Jansen
6882 POSTS0 COMMENTS