Я работаю над реализацией рабочего процесса с использованием Nextflow. Nextflow использует groovy в качестве базового языка, и тогда каждый процесс может использовать любой язык программирования независимо. По сути, я программист на Python, поэтому написанный мной код написан на Python. И у меня возникли небольшие проблемы с преобразованием языка.
data = {
"a" : "A",
"b" : "B",
"c" : {
"somename":{
"z" : "Z",
"y" : "Y",
"params" :{
"minimum": "3000",
"ignore": "60",
"maximum_A": "2500",
"maximum_B": "500"
}
},
"somename2":{
"z" : "Z",
"y" : "Y",
"params" :{
"minimum": "3000",
"ignore": "60",
"maximum_A": "2500",
"maximum_B": "500"
}
}
}
}
CNS_PARAM_LIST = []
my_dict = {}
for each in data["c"]:
for k, v in data["c"][each].get('params', {}).items():
CNS_PARAM_LIST.extend([k, str(v)])
my_dict[each] = CNS_PARAM_LIST
print(my_dict)
По сути, у меня есть JSON (данные), и мне нужно создать словарь из некоторых вложенных полей. Выходные данные для приведенного выше кода:
{'somename': ['minimum', '3000', 'ignore', '60', 'maximum_A', '2500', 'maximum_B', '500', 'minimum', '3000', 'ignore', '60', 'maximum_A', '2500', 'maximum_B', '500'], 'somename2': ['minimum', '3000', 'ignore', '60', 'maximum_A', '2500', 'maximum_B', '500', 'minimum', '3000', 'ignore', '60', 'maximum_A', '2500', 'maximum_B', '500']}
Просто введите somename
и somename2
ключей и введите params
значения.
Какой-нибудь отличный кодер, который может взломать это в 1/100 раз? Я уверен, что есть также способ сделать этот код более эффективным, любые идеи приветствуются!