访问具有未知键数的嵌套字典值

时间:2018-04-08 05:10:39

标签: python loops dictionary

我有一本字典,

data = {'A292340': {'comp': 'company_value'},..., 'A196030': {'comp': 'company_value'} 

问题是我不知道钥匙(以" A"开头)以及它们的数量。我喜欢制作循环,迭代" A" s并获得值。 我尝试了看起来像但却没有用的键()。

foo = data.keys()
for f in foo : 
    print(f.values())

非常感谢。

2 个答案:

答案 0 :(得分:4)

我喜欢使用.items()迭代键+值

另外,我发现使用逻辑变量名和实例让代码更容易阅读

所以,我会编写迭代嵌套这样的代码的代码(避免在解释器中测试它):

age_group_stats = {"20-30":{"avg_salary":20000,"max_salary":70000},"30-40":{"avg_salary":30000,"max_salary":60000}}
for age_group, stats in age_group_stats.items():
  print(age_group)
  for stat, value in stats.items():
    print(stat)
    print(value)

这会打印出类似这样的内容:

age group
20-30
avg_salary
20000
max_salary
70000
age group
30-40
avg_salary
30000
max_salary
60000

答案 1 :(得分:1)

您应该使用您获得的密钥从字典中提取值:

foo = data.keys()
for f in foo : 
    print(data[f])

实际上,您甚至不需要调用data.keys(),而是直接遍历字典:

data = {'A292340': {'comp': 'company_value'}, 'A196030': {'comp': 'company_value'}}
for f in data: 
    print(data[f])
#{'comp': 'company_value'}
#{'comp': 'company_value'}