【发布时间】:2014-01-29 12:15:45
【问题描述】:
我坚持这个练习:
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}
# Add your function below!
def average(lst):
for item in lst:
if lst[item] == float:
print sum(lst[item]) / len(lst[item])
average(tyler)
为什么我不能打印出所有三个平均值? 当它到达字典中的字符串键时循环会中断吗? 我怎样才能只打印出浮动平均值?
【问题讨论】:
-
我觉得Codecademy也有问答论坛?没有?
-
键不是浮点数。因此 if 语句总是错误的。
-
tyler不是一个列表,因此当它是average函数的参数时,调用 islst会让人感到困惑。for item in lst产生dict的密钥。 -
你觉得
lst在这里是什么?也许您想为tyler字典中的每个值 调用average? -
是的,
lst[item] == float应该做什么?float是一个 type 对象,你的值都不是 type,它们都是浮点数列表。
标签: python list dictionary average