I have two long lists. I basically want to remove elements from this list that do not match a condtion. For example,
list_1=['a', 'b', 'c', 'd']
list_2=['1', 'e', '1', 'e']
List one and two correspond to each other. Now I would like to remove certain elements from list one that do not match my condition. I have to make sure that I remove the corresponding elements from list 2 and the order does not mess up.
So I created a for loop that goes through list 1 and stores all the indices of elements that have to be removed.
Let’s say:
index_list = ['1', '3']
Basically, I need to make sure I remove b and d from list 1 and e and e from list 2. How do I do this?
I tried:
del (list_1 [i] for i in index_list)]
del (list_2 [i] for i in index_list)]
But I get an error that indices has to be a list, not list. I also tried:
list_1.remove[i]
list_2.remove[i]
But this does not work either. I tried creating another loop:
for e, in (list_1):
for i, in (index_list):
if e == i:
del list_1(i)
for j, in (list_2):
for i, in (index_list):
if j == i:
del list_2(i)
But this does not work either. It gives me an error that e and j are not global names.