これは実際には例で説明するのは簡単なので、辞書内からリストの共通部分を削除するには、通常、次のようなことを行います。
a = {1:'', 2:'', 3:'', 4:''}
exclusion = [3, 4, 5]
# have to build up a new list or the iteration breaks
toRemove = []
for var in a.iterkeys():
if var in exclusion:
toRemove.append(var)
for var in toRemove:
del a[var]
これは珍しい例のように思えるかもしれませんが、私がこのようなことをしなければならなかった回数は驚くべきことです。セットでこれを行う方がはるかに良いでしょうが、私は明らかにdictの「値」を保持したいと思います。
この方法は、2つのループと追加の配列を必要とするため面倒です。これを行うためのよりクリーンで効率的な方法はありますか?