在字典

时间:2016-10-23 00:07:16

标签: python dictionary

我定义了一些函数来设置一些字典和组织事物。我现在要做的是使用嵌套字典作为另一个函数的函数参数。

K所以我输入了这种格式:

list = {'123': {'Name': 'foo', 'Responses': {'Q4': 'a', 'Q1': 'a', 'Q2': 'b', 'Q3': 'c'}, 'ID': '123'}, '234': {'Name': 'bar', 'Responses': {'Q4': 'b', 'Q1': 'a', 'Q2': 'b', 'Q3': 'c'}, 'ID': '234'}, '345': {'Name': 'xyzzy', 'Responses': {'Q4': 'b', 'Q1': 'a', 'Q2': 'a', 'Q3': 'c'}, 'ID': '345'}}

我需要访问'Responses'键,以便该函数可以使用Q1,Q2等键并与另一个dictionart进行比较。我需要为每个123,234,345键执行此操作。 然后不那么重要我必须映射函数给出的值的关键键和更新列表,但是一旦我得到这个函数运行,我就可以想出来。

我已尝试使用list.get('Responses')作为参数,但它返回None,所以我不确定从何处开始。

3 个答案:

答案 0 :(得分:0)

.get()参数查找顶级键。您实际可能想要的是列出子级词典:

for key, sub_dict in toplevel_dict.items():
    responses = sub_dict['Responses']
    # do something with responses here; responses is a dict

答案 1 :(得分:0)

您可以使用列表解析执行以下操作:

l = [dic['Responses'] for _, dic in list.items()]
# You get a list of all your dictionaries

答案 2 :(得分:0)

您需要使用带有iteritems的for循环来提取信息。

for key, value in list.iteritems():
    print value['Responses']