这个问题如何调试?从字典中提取值

2024-05-14 11:03:55 发布

您现在位置:Python中文网/ 问答频道 /正文

data = {
    'Jeremy':73284, 
    'Hansel':8784.3, 
    'Uee':9480938.2, 
    'Seolhyun':984958.3, 
    'Ketsuno Ana':24131, 
    'Trump':45789
}

for key, value in data.items():
    all_salary = data[value][0] + data [value][1] + data[value][2] + data[value][3] + data[value][4] + data[value][5]

average = all_salary / len[data]
print("The_average_networth is $" + str(average))

如何将列表中数字的所有值添加到all_salary


Tags: keyinfordatavalueallaveragehansel
3条回答

这对我有用:

all_salary = 0
for key, value in data.items():
    all_salary += float(data[key])

average = all_salary / len(data)

valuefor循环中当前元素的值,它不是字典键,因此data[value]不正确。。而且您的字典元素不是数组,所以使用[0][1]等是没有意义的

在循环中,您只需要将value添加到all_salary变量,您应该在循环之前初始化该变量。您还可以使用data.values()来仅循环值,因为您不使用键

all_salary = 0
for value in data.values():
    all_salary += value

还有一个内置的sum()函数将为您执行循环:

all_salary = sum(data.values())

for循环中,你有一个人的value,你必须把它加到all_salary。您可以使用print()来查看它

all_salary = 0  # value at start to use +=

for key, value in data.items():
    #print(key, value)
    all_salary += value

average = all_salary / len[data]

但是你也可以把它写得简短些——如果你知道列表理解和sum()

all_salary = sum( [value for key, value in data.items()] )

甚至没有[ ]

all_salary = sum( value for key, value in data.items() )

或者更简单地使用.values()而不是.items()

all_salary = sum(data.values())

相关问题 更多 >

    热门问题