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 回答