循环错误:列表索引必须是整数或切片,而不是dict


def highest_value():
"""so here normally it should return the highest value """
h = get_live_data_from_api('MY1', 'NO')
hv = h['RawAQData']['Data']
highest_number = None
max_key = -1
for k in hv:
if highest_number is None or highest_number < hv[k]:  
highest_number = hv[k]  
max_key = key
return(max_key)
print(highest_value())

我想知道如何改变我的代码,使其工作,请

我试图创建一个项目,但没有工作,我有点迷路

您提供的代码缺少一些信息,因此不清楚问题是什么。然而,根据代码中的注释,highest_value函数似乎旨在查找hv字典中具有最大值的键。

当前实现的一个潜在问题是,您正在使用key变量来存储具有最大值的字典条目的键,但是在代码中的任何地方都没有定义key。相反,您可以使用k变量,它已经被用来迭代hv字典中的键。

下面是如何更新highest_value函数来解决这个问题:

def highest_value():
"""so here normally it should return the highest value """
h = get_live_data_from_api('MY1', 'NO')
hv = h['RawAQData']['Data']
highest_number = None
max_key = None
for k in hv:
if highest_number is None or highest_number < hv[k]:  
highest_number = hv[k]  
max_key = k
return(max_key)
print(highest_value())

这个函数的更新版本使用k变量来存储具有最大值的字典条目的键。它还将highest_number和max_key变量初始化为None而不是-1,这清楚地表明这些值尚未设置。我很高兴我帮了忙!

最新更新