Python | Remove element from given list containing specific digits

11 Oct, 2021
Given a list, the task is to remove all those elements from list which contains the specific digits.
Examples:
Input: lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 13, 15, 16]
       no_delete = ['2', '3', '4', '0']
Output: [1, 5, 6, 7, 8, 9, 11, 15, 16]
Explanation:
Numbers 2, 3, 4, 10, 12, 13, 14 contains digits 
from no_delete, therefore remove them.

Input: lst = [1, 2, 3, 4, 5, 6, 7, 8, 13, 15, 16]
       no_delete = {'6', '5', '4', '3'}
Output: [1, 2, 7, 8, 9, 10, 11, 12]
Explanation:
Numbers 3, 4, 5, 6, 13, 14, 15, 16 contains digits 
from no_delete, therefore remove them.

 Below are some methods to do the task.
Method #1: Using Iteration
# Python code to remove all those elements # from list which contains certain digits  # Input List InitialisationInput = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 13, 15, 16]  # Numbers to deleteno_delete = [1, 0]  # Output List InitialisationOutput = []  # Using iteration to remove all the elements for elem in Input:    flag = 1    temp = elem    while elem > 0:        rem = elem % 10        elem = elem//10        if rem in no_delete:            flag = 0    if flag == 1:        Output.append(temp)  # Printing Output print("Initial list is :", Input)print("Delete list :", no_delete)print("List after removing elements is :", Output)
Initial list is : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 13, 15, 16]
Delete list : [1, 0]
List after removing elements is : [2, 3, 4, 5, 6, 7, 8, 9]

 Method #2: Using List comprehension and any() function
# Python code to remove all those elements from list # which contains certain digits  # Input List InitialisationInput = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 13, 15, 16]  # Numbers to deleteno_delete = ['2', '3', '4', '0']  # using list comprehension and any()Output = [a for a in Input if not           any(b in no_delete for b in str(a))]  # Printing Output print("Initial list is :", Input)print("Delete list :", no_delete)print("List after removing elements is :", Output)
Initial list is : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 13, 15, 16]
Delete list : ['2', '3', '4', '0']
List after removing elements is : [1, 5, 6, 7, 8, 9, 11, 15, 16]

 Method #3: Using List comprehension and set()
# Python code to remove all those elements from list # which contains certain digits  # Input List InitialisationInput = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 13, 15, 16]  # Numbers to deleteno_delete = {'6', '5', '4', '3'}  # Using list comprehension and setOutput = [x for x in Input         if not no_delete & set(str(x))]  # Printing Output print("Initial list is :", Input)print("Delete list :", no_delete)print("List after removing elements is :", Output)
Initial list is : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 13, 15, 16]
Delete list : {'3', '4', '6', '5'}
List after removing elements is : [1, 2, 7, 8, 9, 10, 11, 12]

gabaa406
Python list-programs
Python
Python Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
Python program to convert a list to string
Defaultdict in Python
Python | Get dictionary keys as a list
Python | Convert a list to dictionary
Python | Split string into list of characters