In Python, creating a new object e.g. with a list comprehension is often better than modifying an existing one:

item_list = ['item', 5, 'foo', 3.14, True]
item_list = [e for e in item_list if e not in ('item', 5)]

... which is equivalent to:

item_list = ['item', 5, 'foo', 3.14, True]
new_list = []
for e in item_list:
    if e not in ('item', 5):
        new_list.append(e)
item_list = new_list

In case of a big list of filtered out values (here, ('item', 5) is a small set of elements), using a set is faster as the in operation is O(1) time complexity on average. It's also a good idea to build the iterable you're removing first, so that you're not creating it on every iteration of the list comprehension:

unwanted = {'item', 5}
item_list = [e for e in item_list if e not in unwanted]

A bloom filter is also a good solution if memory is not cheap.

Answer from aluriak on Stack Overflow
🌐
SourceTrail
sourcetrail.com › home › python › solved: remove multiple strings from list python
Solved: remove multiple strings from list in Python - SourceTrail
September 11, 2023 - I have a list of strings: <code>list = ['a','b','c','d'] </code> and I want to remove multiple strings from the list, for example: <code>remove_list = ['a', 'c'] </code> A: You can use <code>set.difference()</code>: (If you don't mind the order of elements in your list) (If you want to keep the order of elements in your list, then use <code>filter()</code>) (If you want to keep only unique elements in your list, then use <code>set()</code>) (If you want to remove all duplicates from your list, then use <code>list(set())</code>) (If you want to remove all duplicates from your list and keep the order of elements as well, then use <code>[i for i in set(lst)]</code>) In Python, strings are sequences of characters.
Discussions

Python best way to remove multiple strings from string - Stack Overflow
Python 3.6 I'd like to remove a list of strings from a string. Here is my first poor attempt: string = 'this is a test string' items_to_remove = ['this', 'is', 'a', 'string'] result = list(filter( More on stackoverflow.com
🌐 stackoverflow.com
How to remove words in a list from a list of strings?
Why do you have a list of strings that look like lists, instead of having a list of lists? list_strings = [['power', 'brilliant', 'evil'], ['shock', 'poetic', 'watch', 'lift']] Would make the manipulations much easier More on reddit.com
🌐 r/learnpython
13
1
April 6, 2022
How to remove multiple substrings at the end of a list of strings in Python? - Stack Overflow
I have a list of strings: lst =['puppies com', 'company abc org', 'company a com', 'python limited'] If at the end of the string there is the word limited, com or org I would like to remove it. Ho... More on stackoverflow.com
🌐 stackoverflow.com
python - Most efficient way to remove multiple substrings from string? - Stack Overflow
What's the most efficient method to remove a list of substrings from a string? I'd like a cleaner, quicker way to do the following: words = 'word1 word2 word3 word4, word5' replace_list = ['word1... More on stackoverflow.com
🌐 stackoverflow.com
🌐
GeeksforGeeks
geeksforgeeks.org › python › remove-multiple-elements-from-a-list-in-python
Remove Multiple Elements from List in Python - GeeksforGeeks
The while loop make sure that all occurrences of each element are removed from the list. Comment · Python Fundamentals · Introduction1 min read · Input & Output2 min read · Variables4 min read · Operators4 min read · Keywords2 min read · Data Types4 min read · Conditional Statements3 min read · Loops3 min read · Functions4 min read · Python Data Structures · String4 min read ·
Published: October 28, 2025
🌐
GeeksforGeeks
geeksforgeeks.org › python-remove-string-from-string-list
Python - Remove String from String List - GeeksforGeeks
March 24, 2023 - Method #2: Using List Comprehension More concise and better approach to remove all the K strings, it just checks if the string is not K and re-makes the list with all strings that are not K. ... # Python 3 code to demonstrate # Remove K String from String List # using list comprehension # initializing list test_list = ["bad", "GeeksforGeeks", "bad", "is", "best", "bad"] # Printing original list print("Original list is : " + str(test_list)) # initializing K K = "bad" # using list comprehension to # Remove K String from String List test_list = [i for i in test_list if i != K] # Printing modified list print("Modified list is : " + str(test_list))
🌐
Flexiple
flexiple.com › python › remove-multiple-items-list
How to Remove Multiple Items from a Python List - Flexiple
April 1, 2024 - The del statement combined with list slicing allows you to remove items from a list by their indices or values. toys = ['car', 'doll', 'train', 'teddy', 'ball'] to_remove = ['doll', 'teddy'] for item in to_remove: while item in toys: toys.remove(item) # Or, a more efficient way using list comprehension toys = [toy for toy in toys if toy not in to_remove] Python 3.10 introduced a new method, removeAll(), to help us clear out specific items from a list.
🌐
Codecademy
codecademy.com › forum_questions › 5512b53d86f5529223001d79
how to remove more than one item in a list? | Codecademy
list = [a, b, c] #remove one item remove = list.remove("a") #remove two items? remove2 = list.remove(list[0:1])
Find elsewhere
🌐
Reddit
reddit.com › r/learnpython › how to remove words in a list from a list of strings?
r/learnpython on Reddit: How to remove words in a list from a list of strings?
April 6, 2022 -

I have a list of strings:

list_strings = ['[power, brilliant, evil]',  '[shock, poetic, watch, lift]']

I want to remove words that occur in the following list:

remove = ['evil', 'money', 'poetic', 'lift']

The result I am seeking is:

result = ['[power, brilliant]',  '[shock, watch]']

It's also important that the words that remain stay in a list themselves e.g., [power, brilliant].

What I have tried:

# attempt 1:
list_strings = ['[power, brilliant, evil]',  '[shock, poetic, watch, lift]']
remove = ['evil', 'money', 'poetic', 'lift']
result = [' '.join(w for w in str(list_strings).split() if w.lower() not in remove)
         for place in places
         ]
print(result)

# attempt 2:
list_strings = ['[power, brilliant, evil]',  '[shock, poetic, watch, lift]']
remove = ['evil', 'money', 'poetic', 'lift']

for each in list_strings:
    for i in remove:
        x = each.replace(i, "")
        print(x)
🌐
GeeksforGeeks
geeksforgeeks.org › python-remove-substring-list-from-string
Remove substring list from String - Python - GeeksforGeeks
May 19, 2025 - Explanation: remove_substrings iterates through each substring in list a and removes all its occurrences from the given string s using replace(). It returns the cleaned string after all specified substrings have been removed. In this example, it removes "Geeks" and "awesome" from the original string. ... Our task is to remove multiple substrings from a string in Python using various methods like string replace in a loop, regular expressions, list comprehensions, functools.reduce, and custom loops.
🌐
TutorialsPoint
tutorialspoint.com › article › how-do-you-remove-multiple-items-from-a-list-in-python
How do you remove multiple items from a list in Python?
September 16, 2022 - # Creating a List names = ["David","Jacob", "Harry", "Mark", "Anthony", "Steve", "Chris"] # Displaying the List print("List =", names) # Remove multiple items from a list using del keyword del names[2:5] # Display the updated list print("Updated ...
🌐
Spark By {Examples}
sparkbyexamples.com › home › python › remove multiple items from list python
Remove Multiple Items from List Python - Spark By {Examples}
May 31, 2024 - How to remove multiple items/elements from a list in Python? You can remove multiple items from a list in Python using many ways like, if control
🌐
CodingTechRoom
codingtechroom.com › question › remove-string-item-from-list-python
How to Remove a Specific String from a List of Strings in Python? - CodingTechRoom
If you need to remove multiple occurrences, or if you want to ensure the entire list is filtered of that value, you might prefer using a list comprehension or the filter() function.
🌐
IncludeHelp
includehelp.com › python › program-to-remove-multiple-elements-from-a-list-using-list-comprehension.aspx
Remove multiple elements from a list in Python
June 28, 2023 - Original list: [10, 20, 30, 35, 45, 55, 10, 30, 45] List after removing elements: [10, 20, 35, 55, 10] To remove multiple elements (all occurrences of a given element) from a Python list, you can use Python list comprehension by specifying the condition. This will filter list elements excluding ...
🌐
Note.nkmk.me
note.nkmk.me › home › python
Remove an Item from a List in Python: remove, pop, clear, del | note.nkmk.me
April 17, 2025 - To remove multiple items based on a condition, use list comprehensions as described below. If the specified value does not exist in the list, a ValueError will be raised. # l.remove('xxx') # ValueError: list.remove(x): x not in list ... To avoid this error, you can check for the presence of a value using the in operator. The in operator in Python (for list, string, dictionary, etc.)