wie kann ich call Wörterbuch-Werte in einer Liste von dictionaries ?
ich versuche zu lernen python mit codeacademy.
die Aufgabe war es 3 Wörterbücher (für jeden Schüler) und dann machen Sie eine Liste der 3 Wörterbücher. dann, ich soll alle Daten ausdrucken, die in der Liste.
ich versuchte zu rufen, die Werte, die gleiche Weise, die ich für ein Wörterbuch von selbst (lloyd[Werte]), aber dann sagt er, dass die Werte nicht definiert ist o_O. Ich habe auch versucht zu drucken Namen', aber dann die Fehlermeldung, dass ich nicht drucken Sie eine der Werte.
ich würde schätzen Ihre Hilfe sehr.
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]
}
students = [lloyd, alice, tyler]
for names in students:
print lloyd[values]
values
ist nicht definiert; es ist nicht eine variable, die Sie übergeben können, umlloyd[...]
. Meinst dunames.values()
statt?
InformationsquelleAutor user1476390 | 2013-07-19
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, drucken Sie alle Informationen für jeden Schüler, haben Sie, um eine Schleife über die Studenten und die gespeicherten Werte in den Wörterbüchern:
Beachten Sie jedoch, dass Wörterbücher nicht bestellt, so ist die Reihenfolge der Werte kann sich nicht so wie Sie es wollen. In diesem Fall drucken Sie einzeln, mit den Namen, den Wert als einen string als Schlüssel:
Schließlich konnte man auch mit dem
pprint
Modul für "pretty printing"," der student von Wörterbüchern:Können Sie drucken Sie einfach die Werte des dicts:
Wenn Sie möchten, drucken Sie einfach die Namen, dann verwenden Sie die
name
Schlüssel:Ich würde vorschlagen, mit namedtuple stattdessen für eine bessere Lesbarkeit und Skalierbarkeit:
Wenn Sie wirklich wollen, erstellen Sie Tonnen von Wörterbüchern, Sie können es mit dem code oben:
Zugriff auf Wörterbuch ist super schnell in Python, aber Sie möglicherweise nicht so schnell und effizient. Die namedtuple ist praktischer in diesem Fall.
So
students
ist eine Liste von Wörterbüchern. Sie wollen dannAuch, wenn Sie wollen rufen Sie Schlüssel in einem dictionary-haben Sie den Schlüsselnamen in Anführungszeichen als string:
alice[homework]
nicht funktioniert, weil Python denkthomework
ist eine variable. Sie müssenalice['homework']
statt.So zu betrachten, alle Informationen schön, Sie könnte tun
Können Sie spielen, um zu machen, die Formatierung schöner, z.B. drucken der name zuerst, das einfügen einer neuen Zeile zwischen jeder neue student, etc.
dies ist, wie ich das gelöst mine auf codeacademy. Hoffe jemand findet das hilfreich
for student in Studenten:
Dies ist, was ich habe, Sie zu akzeptieren.
Funktioniert das auch, aber Sie würde Sie nicht akzeptieren.