0

すでにドキュメントを参照しましたが、このまたはを抽出できないようです:

# errors = session.pop('_flashes')
# repr(errors)
[('message', [u'Content is empty'])]

私がする時:

repr(errors['message'])

代わりにエラーが発生します:

TypeError: list indices must be integers, not str

私は何を間違っていますか?

4

2 に答える 2

7
errors = [('message', [u'Content is empty'])]

ディクテーションではありません。タプルのリストです。

簡単にdictに変換できます:

d = dict(errors)

d今を含む{'message': [u'Content is empty']}

そしてその要素にアクセスします:

d['message']

戻り値[u'Content is empty']

または文字列まで直接:

d['message'][0]

戻り値u'Content is empty'

于 2012-08-23T12:11:24.900 に答える
2

これは何が起こっているのかを理解するのに役立つかもしれません:

>>> errors = [('message', [u'Content is empty'])]
>>> errors[0]
('message', [u'Content is empty'])
>>> errors[0][0]
'message'
>>> errors[0][1]
[u'Content is empty']
>>> errors[0][1][0]
u'Content is empty'
于 2012-08-23T12:15:02.890 に答える