Python 访问元组中的值

Python 访问元组中的值,python,Python,我需要一些帮助来访问元组中的值或条目 考虑以下数据: ('{"email": "test@example.com"}',) <type 'tuple'> {"email": "test@example.com"} <type 'str'> 有人给了我同样的方法。您可以使用它将字符串解析为JSON 范例 这将为您提供一个来自a_tuple的电子邮件列表您的代码与问题有什么关系?你的输入是什么?你想要的输出是什么?请提供一个完整、明确的示例,说明您想要什么。@timgeb看

我需要一些帮助来访问元组中的值或条目

考虑以下数据:

('{"email": "test@example.com"}',)
<type 'tuple'>
{"email": "test@example.com"}
<type 'str'>
有人给了我同样的方法。

您可以使用它将字符串解析为JSON

范例


这将为您提供一个来自a_tuple的电子邮件列表

您的代码与问题有什么关系?你的输入是什么?你想要的输出是什么?请提供一个完整、明确的示例,说明您想要什么。@timgeb看起来他需要将元组值从字符串转换为字典。我在打电话,但我想他想要dictrow[0]['email']你知道这个字符串最初是如何创建的吗?乍一看,它可能是JSON,但这里没有那么多上下文。@Jason:不,dict不接受那样的字符串值。至于元组,那是因为您正在运行SQL查询;结果总是一系列列。这里的查询只有一列,因此元组只有一个值。这里还有另一个选项:@Jason:注意该字符串和该字符串中包含的引号。双引号使其更有可能是JSON。如果在数据库中记录了Python的repr输出,那么将生成单引号,并且其他帖子将完全适用。@Martijn在这种情况下有什么关系?literal\u eval会将其转换,因为它是一个有效的Python命令?@Jason:如果这是JSON,那么是的,这很重要,因为一旦编码为\uhhh转义的字符串中存在布尔值、空值或非ASCII码点,那么ast.literal\u eval就会失败或产生无效结果。
rows = cur.fetchall()

for row in rows:
    print  row
    print type(row)

    for rowitems in row:

            print rowitems
            print type(rowitems)
>>> import json
>>> a_tuple = ('{"email": "test@example.com"}',)
>>> [ json.loads(value)['email'] for value in a_tuple ]
[u'test@example.com']