我试图从字典中的列表中获取价值?不确定如何访问它?但这就是我所做的和我得到的错误,因为 TypeError:字符串索引必须是整数,而不是str
lloyd = {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}
for i in alice:
print i['quizzes']
Run Code Online (Sandbox Code Playgroud)
我正在学习python,而且我还有更多的疑问如果有人可以提供帮助,那将是学习方面的帮助.提前谢谢.
1)如何访问关键'家庭作业'并将其值列入清单?
2)如何访问dict alice并总结其所有键的值?家庭作业+测验+带sum()函数的测试
3)如何访问密钥'llyod'并获取列表的len()?说'家庭作业'
这是我尝试过的,我也得到了同样的错误:
def average(x):
for a in x:
return sum(a['homework']) / len(a['homework'])
return sum(a['quizzes']) / len(a['quizzes'])
return sum(a['tests']) / len(a['tests'])
Run Code Online (Sandbox Code Playgroud)
如果有人可以请清除我对上述3个问题的怀疑.
您遍历了钥匙的alice,而不是值.你的钥匙是字符串.即使您循环遍历值,也alice无法将索引中的任何值编入索引'quizzes'.你可以打印alice['quizzes'],但这可能不是你想要的开始.
您希望将所有命名字典放入一个"父"字典中:
students = {
"lloyd": {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
},
"alice": {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
},
"tyler": {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
},
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以遍历此字典并访问每个学生的各种键:
for student_data in students.values():
print student_data['quizzes']
Run Code Online (Sandbox Code Playgroud)
注意.values()这里使用只循环students字典的值,因为我们不使用这里的键.
使用相同的循环来计算平均值,但请记住,遇到语句时函数结束return.您始终可以通过返回元组从函数返回多个值:
def average(student):
homework = ...
quizzes = ...
tests = ....
return (homework, quizzes, tests)
Run Code Online (Sandbox Code Playgroud)
或者你可以使用字典.
| 归档时间: |
|
| 查看次数: |
30204 次 |
| 最近记录: |