私は大きな(〜150万)のキーを持つPython辞書を持っています。各キーに関連付けられた値は数値であり、2より大きい値を持つ値のみをレポートしたいとします。値が2より大きい場合、ループスルーキー
私の現在のコードは次のようになります。私の最終報告書は、およそ140万のキーが無視されたことを示して
ks_ignored = 0
for k in d.keys():
if(d[k] > 2):
print "Key(%s) has value %s"%(k, d[k])
else:
ks_ignored += 1
を、これは(約6時間)を実行するのに非常に長い時間がかかります。大幅に高速化するループの内部でチェックを行うことなく、2より大きい値を持つすべてのキーをループする簡単な方法はありますか?
をあなただけの> 2のみのキー値を持つ新しい辞書をしたいですか?私はあなたが無視された値を数えたいと思っていれば元の値の数を反復しなければならないと信じています – depperm
'filter'の候補です – erip