Ich habe mit Python eine Funktion zum Durchlaufen eines Wörterbuchs mit mehreren Ebenen erstellt, und führen Sie eine zweite Funktion ssocr
, die vier Argumente benötigt: koordinieren, Hintergrund, Vordergrund, Typ (sie sind der Wert meiner Schlüssel). Dies ist mein Wörterbuch, das aus einer JSON-Datei stammt.Iteritems ein Diktat in 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
ich einen Fehler im Vordergrund Prüfung in der zweiten haben iteritems dauern, meine Schlüsselnummer überschreibt die Schlüssel Punktzahl
Die Ausnahme sagt es: Sie rufen 'Iteritems' auf einer Zeichenfolge, kein Wörterbuch. –
Wenn Sie Python 3.x verwenden, sollten Sie 'dic.items' statt' dic.iteritems' verwenden – Arman
@Arman python 2; es heißt 'unicode' –