2

辞書のリストから値を取得しようとしていますか? アクセス方法がわからない?しかし、これが私がやったことです & TypeError: stringindexs must be integers, not 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']

私は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'])

誰かが上記の3つの質問に対する私の疑問を解消してください。

4

4 に答える 4

0

このコード:

 for i in alice:
        print i['quizzes']

辞書 Alice を取得し、そのキー (文字列) を反復処理します。あなたが望むのは次のとおりだと思います:

print alice['quizzes']
于 2013-08-02T11:09:27.233 に答える