# Python | Remove given element from list of lists

• Last Updated : 19 Sep, 2022

The deletion of elementary elements from list has been dealt with many times, but sometimes rather than having just a one list, we have list of list where we need to perform this particular task. Having shorthands to perform this particular task can help. Let’s discuss certain ways to perform this particular task.

Method #1 : Using list comprehension The logic behind this kind of method is to reduce the size of code and do the task to perform using loops as a way of list comprehension itself.

## Python3

 # Python3 code to demonstrate# Removing element from list of lists# using list comprehension # initializing listtest_list = [[4, 5, 6], [5, 6, 4, 1], [4], [4, 8, 9, 10]] # printing original listprint("The original list : " + str(test_list)) # initializing Number to deleteN = 4 # using list comprehension# Removing element from list of listsres = [[ele for ele in sub if ele != N] for sub in test_list] # print resultprint("The list after deletion of element : " + str(res))

Output :

The original list : [[4, 5, 6], [5, 6, 4, 1], [4], [4, 8, 9, 10]]
The list after deletion of element : [[5, 6], [5, 6, 1], [], [8, 9, 10]]

Method 2: Using list comprehension + list slicing In this method, we generally do the task similar to the above method, the variation is just we use list slicing for better code readability.

## Python3

 # Python3 code to demonstrate# Removing element from list of lists# using list comprehension + list slicing # initializing listtest_list = [[4, 5, 6], [5, 6, 4, 1], [4], [4, 8, 9, 10]] # printing original listprint("The original list : " + str(test_list)) # initializing Number to deleteN = 4 # using list comprehension + list slicing# Removing element from list of listsfor sub in test_list:    sub[:] = [ele for ele in sub if ele != N] # print resultprint("The list after deletion of element : " + str(test_list))

Output :

The original list : [[4, 5, 6], [5, 6, 4, 1], [4], [4, 8, 9, 10]]
The list after deletion of element : [[5, 6], [5, 6, 1], [], [8, 9, 10]]

Method: Using enumerate function

## Python3

 test_list = [[4, 5, 6], [5, 6, 4, 1], [4], [4, 8, 9, 10]]N = 4res = [[ele for j,ele in enumerate(sub) if ele != N] for i,sub in enumerate(test_list)]print(res)

Output

[[5, 6], [5, 6, 1], [], [8, 9, 10]]

My Personal Notes arrow_drop_up