我有这样的嵌套字典:
dic={'dic1':'a': , 'b': , 'dic2':'a': , 'b': , 'dic3':'a': , 'b': }
每个内部字典都有许多行数据。
有两个问题:
1.我想比较嵌套字典中'a'的值与包含两个数据集dataset1
和dataset2
的hdf5文件数据集之一的值,例如a
中是否存在dataset1
的值{1}},访问dataset2
值。
2.访问'b'
信息对应'a'
数据?
对于第一部分,我正在执行以下过程,这是一个永无止境的解决方案;对于第二个问题,我不知道如何访问b
的同一元组中的a
!
有没有人知道如何解决这个问题?
for key, value in dict.items():
for k,v in value.items():
if 'a' in k:
for t in entry[key][k]:
if t in file['/dataset1']:
joint = file['/dataset2'][file['/dataset1'] == t]
答案 0 :(得分:0)
如果您的'a'
和“b
”键始终存在并且事先已知,则您可能不需要第二个循环(如果没有,则可以添加测试if 'a' in inner_dict and 'b' in inner_dict
)。您的测试'a' in k
可能没有达到预期的效果(它正在对内部键字符串进行子字符串匹配,如果并非所有键都是单个字符,则可能会产生误报。)
尝试这样的事情:
for outer_key, inner_dict in dic.items():
for t in inner_dict['a']:
if t in file['/dataset1']:
joint = file['/dataset2'][file['/dataset1'] == t] # not sure this makes sense
b_value = inner_dict['b']
# I think you want to do something with b_value here, but I'm not sure what