私は位置を持つセットを作成する必要があります。しかし、いくつかのポジションは値Noneを持つことができます(プレーボードに属さない場合)。どのように私は私のセットからこれらを削除することができます。それとも、私は手でそれをセットに追加する必要はないと判断できるのですか? (追加されたすべての要素は、自分のコードで異なる関数から得られた位置です)。これまでの私のコード(削除ステートメントのdoes't作業:。!KeyError例外なし事前にセットから値Noneを持つ変数を削除するにはどうすればよいですか?
collection = set()
collection.add((above,below,left,right,top_left,top_right,bottom_left,bottom_right))
if above == None:
collection.remove(above)
return collection
おかげ
'filter'関数を調べるか、または理解でフィルタリングします。 – Carcigenicate
その操作は、セットに単一のタプルを追加しますか?それは意図ですか? – tdelaney
@Carcigenicateいいえ、なぜですか?これにより線形のパフォーマンスが保証され、OPがセットを必要とする場合は、フィルタオブジェクトを再度セットにマテリアライズする必要があります。あなたは、セット操作を使用する場合、平均的な一定のパフォーマンスのためにそれを取引しています。 –