Python dictionary iteration

Viewed 98683

I have a dictionary dict2 which I want to iter through and remove all entries that contain certain ID numbers in idlist. dict2[x] is a list of lists (see example dict2 below). This is the code I have written so far, however it does not remove all instances of the IDs (entry[1]) that are in the idlist. Any help?

dict2 = {G1:[[A, '123456', C, D], [A, '654321', C, D], [A, '456123', C, D], [A, '321654', C, D]]}

idlist = ['123456','456123','321654']
for x in dict2.keys():
    for entry in dict2[x]:
        if entry[1] in idlist:
            dict2[x].remove(entry)
        if dict2[x] == []:
            del dict2[x]

dict2 should end up looking like this :

dict2 = {G1:[[A, '654321', C, D]]}
2 Answers
Related