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

Remove multiple elements from a list
Filter "Mango" out with a list comprehension: a = [fruit for fruit in a if fruit != "Mango"] A longer version would be: new_a = [] for fruit in a: if fruit != "Mango": new_a.append(fruit) a = new_a Edit: Thanks u/ClutchAlpha More on reddit.com
🌐 r/learnpython
11
1
August 3, 2022
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
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 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
🌐
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
🌐
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.
🌐
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))
🌐
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])
🌐
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)
Find elsewhere
🌐
GeeksforGeeks
geeksforgeeks.org › python › python-remove-substring-list-from-string
Remove substring list from String - Python - GeeksforGeeks
July 12, 2025 - ... s = "GeeksforGeeks is an awesome website." a = ["Geeks", "awesome"] for sub in a: s = s.replace(sub, "") print(s) ... The replace() method is used to remove each substring by replacing it with an empty string.
🌐
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.
🌐
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
🌐
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 ...
🌐
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.)
🌐
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 ...
🌐
YouTube
youtube.com › watch
Remove multiple elements from a Python List - YouTube
In this video, learn how to remove multiple elements from a List. Lists in Python are ordered. It is modifiable and changeable, unlike Tuples. Python Full Co...
Published: August 27, 2022