Using a very simple timer I tested the efficiency of these functions:
def del_er(nums,adict):
for n in nums:
del adict[n]
def pop_er(nums,adict):
for n in nums:
adict.pop(n)
On my system, using 100,000 item dict and 75,000 randomly selected indices, del_er ran in about .330 seconds, pop_er ran in about .412 seconds.