Movatterモバイル変換


[0]ホーム

URL:


Open In App
Next Article:
Python - Clearing a tuple
Next article icon

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 stringtest_list=[(2,4),(5,9),(13,17),(24,27)]test_str="geeksforgeeks is best for geeks and programming"# printing original list and stringprint("The original list : "+str(test_list))print("The original string : "+str(test_str))# Slice String from Tuple ranges# using loop + list slicingforfront,rearinreversed(test_list):test_str=test_str[:front]+test_str[rear+1:]# printing resultprint("The String after slicing is : "+str(test_str))
Output : 
The original list : [(2, 4), (5, 9), (13, 17), (24, 27)]The original string : geeksforgeeks is best for geeks and programmingThe String after slicing is : geeksest 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 stringtest_list=[(2,4),(5,9),(13,17),(24,27)]test_str="geeksforgeeks is best for geeks and programming"# printing original list and stringprint("The original list : "+str(test_list))print("The original string : "+str(test_str))# Slice String from Tuple ranges# using join() + any() + generator expressionres="".join(test_str[idx]foridxinrange(len(test_str))\ifnotany(front<=idx<=rearforfront,rearintest_list))# printing resultprint("The String after slicing is : "+str(res))
Output : 
The original list : [(2, 4), (5, 9), (13, 17), (24, 27)]The original string : geeksforgeeks is best for geeks and programmingThe String after slicing is : geeksest foeks and programming

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


Improve

Similar Reads

We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood ourCookie Policy &Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences

[8]ページ先頭

©2009-2025 Movatter.jp