タイトルの名前を混乱させて申し訳ありません。 私は以下のコードがあります。しかし、私はそれを実行しようとすると、それはエラーで返され、変化にもかかわらずpython辞書が他の等価辞書で実行されたアクションに反応するのはなぜですか?
RuntimeError: dictionary changed size during iteration
は「newdict」とない「辞書に
eps = []
newdict = dictionary.items
for ep in range(minepisode, maxepisode + 1):
eps.append(str(ep))
for key in dictionary.keys():
if key not in eps:
newdict.pop(key)
を作られましたそれは私が反復していたものでした。 xの
x = {'1':'something'}
newx = x
newx.pop('1')
「1」キー両方newx除去した。
シェルにいじり後、私は私はこのような2つの同一の辞書を行った場合ことを見出しました。どうしてこれなの?そして、元のコードのエラーをどのように修正する必要がありますか?
を持っています。 dictを複製するには、コピーまたはディープコピーを使用します。 – Selcuk
@Selcukありがとう!ちょうどこれを試して、今それは動作します – user3908469