【发布时间】:2017-12-06 17:22:22
【问题描述】:
我有一个在循环中创建的字典,我需要同时将这些字典附加到另一个字典。 有什么优雅的方法吗?
f_temp = df['Relevant findings'].values.tolist()[0:8]
f_list = [x for i, x in enumerate(f_temp) if i == f_temp.index(x)]
f_num_total = len(f_list)
f_rand = random.randrange(1, f_num_total+1)
def create_rep(arr, row_data, condname, modality): # get findings
params = []
# to_json = []
if condname == 'Mass' and modality == 'Mammography':
for i in range(len(arr)):
params += grab_data(row_data, 0, 14, 19)
row_data += 1
for i in range(f_rand):
f = random.choice(f_list)
if f == 'Mass':
rep_temp = create_rep(iter_params_mass, row, f, r)
finding = {f: rep_temp}
#and now I have no idea where to go
>>>{'Assymetry': {'Assymetry': ['Global asymmetry']}}
我想将结果一个接一个地附加到另一个字典中,使其看起来像:
{'Findings/s':
{'Assymetry':
{'Assymetry': ['Global asymmetry']}},
{'Mass':
{'Shape': ['Oval']}}
}
任何想法,或者创建嵌套 JSON 对象的方法?我正在迭代很多循环,所以我不确定最佳做法是什么。
【问题讨论】:
-
你想在
Finding中有 JSON 数组吗? -
显示
create_rep声明和f_list内容 -
@gorros 是的,然后还将结果附加到“父”节点。我正在使用很多函数获取部分数据,然后我需要以某种方式将它们整合在一起。
标签: python json loops dictionary