私は多階調の辞書を反復処理し、4つの引数を必要とするssocr
を実行する関数をpythonで作成しました:coord、background、foreground、type(それらは私のキーの値です)。 これはjsonファイルから取った私の辞書です。Pythonで辞書を検索する
`
def parse_image(self, d):
bg = d['background']
fg = d['foreground']
results = {}
for k, v in d['boxes'].iteritems():
if 'foreground' in d['boxes']:
myfg = d['boxes']['foreground']
else:
myfg = fg
if k != 'players_home' and k != 'players_opponent':
results[k] = MyAgonism.ssocr(v['coord'], bg, myfg, v['type'])
results['players_home'] = {}
for k, v in d['boxes']['players_home'].iteritems():
if 'foreground' in d['boxes']['players_home']:
myfg = d['boxes']['players_home']['foreground']
else:
myfg = fg
if k != 'background' and 'foreground':
for k2, v2 in d['boxes']['players_home'][k].iteritems():
if k2 != 'fouls':
results['players_home'][k] = MyAgonism.ssocr(v2['coord'], bg, myfg, v2['type'])
return results
私はiteritems続く2番目の前景のチェックでエラーを持って、私のキー数は、キーのスコアを上書きします
例外は、辞書ではなく文字列で 'iteritems'を呼び出すことです。 –
python 3.xを使用している場合は、 'dic.iteritems'の代わりに' dic.items'を使用してください。 – Arman
@Arman python 2;それは 'ユニコード'と書いてあります –