我有这样的数据结构:
sample_map= {'key1': {'internal_key1': ['value1']},
'key2': {'internal_key2': ['value2']},
}
我想在每一行key1和key2上迭代throgh。我想得到' internal_key1'的价值。和' value_1'变量。
我试过这种方式:
for keys in sample_map.keys():
for value in sample_map[keys]:
#get internal_keys and values
我该怎么做?有人可能会告诉我这个数据结构和使用?
答案 0 :(得分:2)
for item in sample_map.values():
for k, v in item.items():
print k, v
答案 1 :(得分:1)
这称为字典(类型dict)。它确实类似于JSON结构,尽管JSON是一种格式,其中构建字符串以表示特定的数据结构,dict
是数据结构(可以转换为JSON格式的字符串)。
无论如何,这一行 - for value in sample_map[keys]:
无效。要获得与键相关联的值,您只需执行value = sample_map[keys]
。在此示例中,dict
s将分配给val。这些将是内部dict
s({'internal_key1': ['value1']}
等等)。
要访问内部密钥,请拨打.keys()
的{{1}}:
value
此外,当使用for循环时,不需要for keys in sample_map.keys():
value = sample_map[keys]:
for internal_key in value.keys():
internal_value = value[internal_key]
,它将自动使用,因此您的代码可能如下所示:
dict.keys()
答案 2 :(得分:0)
以下内容如何:
for k,v in sample_map.iteritems():
print k
for k1,v1 in v.iteritems():
print k1,v1[0]
这将打印以下内容:
key2
internal_key2 value2
key1
internal_key1 value1