首页 > 解决方案 > 遍历字典列表

问题描述

我的任务是制作 3 个字典来存储我认识的 3 个人的信息,例如他们的名字、姓氏、年龄和他们居住的城市:

Sissel = {'first_name': 'Sissel', 'last_name': 'Johnsen', 'age': '23', 'city': 'Copenhagen'}
David = {'first_name': 'David', 'last_name': 'Hansen', 'age': '35', 'city': 'Randers'}
Olivia = {'first_name': 'Olivia', 'last_name': 'Petersen', 'age': '57', 'city': 'New York'}

然后我不得不将它们存储在一个列表中:

people = [Sissel, David, Olivia]

我必须遍历我的人员列表。当我遍历列表时,它必须通过打印每个字典中的键和相关值来打印我所知道的关于每个人的所有信息。

我尝试使用 for 循环:

for k, v in people:
    print(k, v)

但我刚刚收到一条错误消息说

ValueError: too many values to unpack (expected 2)

标签: python

解决方案


People 是一个字典列表,这就是为什么它会抛出太多值来解包错误。在 Python 3 中,您需要调用dict.items()

for person in people:
    for k, v in person.items():
        print(k, v)
    print() # extra space between people

推荐阅读