我试图创建一个嵌套字典,但在for循环中有一个问题,至少我是这么想的。 我根据传递的参数执行多个请求,但当我尝试向在添加最后一个传递的参数之前创建的嵌套dict添加值时。 我将显示代码和输出
def api_metrics():
my_list = []
my_dict_1 = {}
number = len(my_metrics)
metricz = range(number)
for indice in metricz:
my_dict_1[indice] = {}
for metric in my_metrics:
urlnotoken = ""
urlnotoken = urlnotoken.replace(" ","%20")
preurl = urlnotoken + "&dateToken="+expirationDate
msg = preurl + apikey
token = calcMd5(msg)
finalurl = "http://"+host+preurl+"&token="+token
data_get = requests.get(finalurl, headers=app_headers)
json_data = json.loads(data_get.text)
metrics_path = json_data['data'][0]['metrics'][0]
metric_name = metrics_path['label']
metric_value = metrics_path['values'][0]['data'][0][1]
metric_unit = metrics_path['magnitudes']['y']
my_list.append(metric_name)
my_list.append(metric_value)
my_list.append(metric_unit)
number = len(my_metrics)
metricz = range(number)
my_values = metric
for entry in my_dict_1.keys():
my_dict_1[entry] = metric
return(my_dict_1)
以及输出
{0: 'avgRenditionSwitchTime', 1: 'avgRenditionSwitchTime', 2: 'avgRenditionSwitchTime', 3: 'avgRenditionSwitchTime', 4: 'avgRenditionSwitchTime'}"
这将输出传递的不同参数。我已经把代码移到了循环的内部和外部,我读了很多帖子,但是我需要更多的帮助
干杯
在这里:
您正在将
metric
的值分配给所有dict
(my_dict_1
)项。“它只是添加最后通过的参数”的原因在不清理代码的情况下,以下是修复问题的修补程序:
相关问题 更多 >
编程相关推荐