简体   繁体   中英

How to print keys and values of a dictionary which is contained in a list in Python

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]

The given above is my python code. I want to print out all the data in the students list, just like the below example.

  Lloyd
[90, 97, 75, 92]
[88, 40, 94]
[75, 90]
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 s in students:
    print s["name"]
    print s["homework"]
    print s["quizzes"]
    print s["tests"]

If you want to format a line (fancy):

>>>print "{:>10}".format("Lloyd")

would print

      Lloyd

You can use "For each" is to easy use on python:

Example:

items = [1,2,3,4]
for item in items:
    print item

This print all the numbers in our list

Here a solution:

for student in students:
    print "  ",student['name']
    print student['homework']
    print student['quizzes']
    print student['tests']

I hope this help you!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM