Skip to content
Related Articles

Related Articles

Python – Remove suffix from string list

View Discussion
Improve Article
Save Article
  • Last Updated : 08 Aug, 2022
View Discussion
Improve Article
Save Article

Sometimes, while working with data, we can have a problem in which we need to filter the strings list in such a way that strings ending with specific suffixes are removed. Let’s discuss certain ways in which this task can be performed. 

Method #1 : Using loop + remove() + endswith() Method

The combination of the above functions can solve this problem. In this, we remove the elements that end with a particular suffix accessed using a loop and return the modified list. 

Python3




# Python3 code to demonstrate working of
# Suffix removal from String list
# using loop + remove() + endswith()
 
# initialize list
test_list = ['allx', 'lovex', 'gfg', 'xit', 'is', 'bestx']
 
# printing original list
print("The original list : " + str(test_list))
 
# initialize suffix
suff = 'x'
 
# Suffix removal from String list
# using loop + remove() + endswith()
for word in test_list[:]:
    if word.endswith(suff):
        test_list.remove(word)
 
# printing result
print("List after removal of suffix elements : "+ str(test_list))

Output

The original list : ['allx', 'lovex', 'gfg', 'xit', 'is', 'bestx']
List after removal of suffix elements : ['gfg', 'xit', 'is']

Method #2: Using list comprehension + endswith() Method

This is another way in which this task can be performed. In this, we don’t perform the removal in place, instead, we recreate the list without the elements that match the suffix. 

Python3




# Python3 code to demonstrate working of
# Suffix removal from String list
# using list comprehension + endswith()
 
# initialize list
test_list = ['allx', 'lovex', 'gfg', 'xit', 'is', 'bestx']
 
# printing original list
print("The original list : " + str(test_list))
 
# initialize suff
suff = 'x'
 
# Suffix removal from String list
# using list comprehension + endswith()
res = [ele for ele in test_list if not ele.endswith(suff)]
 
# printing result
print("List after removal of suffix elements : "+ str(res))

Output

The original list : ['allx', 'lovex', 'gfg', 'xit', 'is', 'bestx']
List after removal of suffix elements : ['gfg', 'xit', 'is']

Method#3: Using filter function + endswith() Method

This is another way in which a task can be performed. In this, we can create a new list with the help of a filter function which filters out all the string which ends with a defined suffix.

Python3




# Python3 code to demonstrate working of
# Remove prefix strings from list
# using filter + endswith()
 
# initialize suff
suff = 'x'
 
def eva(x):
    return not x.endswith(suff)
# initialize list
test_list = ['allx', 'lovex', 'gfg', 'xit', 'is', 'bestx']
 
# printing original list
print("The original list : " + str(test_list))
 
# Remove prefix strings from list
# using filter + endswith()
res = list(filter(eva, test_list))
 
# printing result
print("List after removal of Kth character of each string : " + str(res))

Output

The original list : ['allx', 'lovex', 'gfg', 'xit', 'is', 'bestx']
List after removal of Kth character of each string : ['gfg', 'xit', 'is']

Method #4 :  Without any built-in methods

Python3




# Python3 code to demonstrate working of
# Suffix removal from String list
 
# initialize list
test_list = ["allx", "lovex", "gfg", "xit", "is", "bestx"]
 
# printing original list
print("The original list : " + str(test_list))
 
# initialize suffix
suff = "x"
 
res = []
# Suffix removal from String list
for i in test_list:
    if(i[-1] != suff):
        res.append(i)
 
# printing result
print("List after removal of suffix elements : " + str(res))

Output

The original list : ['allx', 'lovex', 'gfg', 'xit', 'is', 'bestx']
List after removal of suffix elements : ['gfg', 'xit', 'is']

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!