python - 遍历字典列表
问题描述
我的任务是制作 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)
解决方案
People 是一个字典列表,这就是为什么它会抛出太多值来解包错误。在 Python 3 中,您需要调用dict.items()
:
for person in people:
for k, v in person.items():
print(k, v)
print() # extra space between people
推荐阅读
- php - Ajax 到 PHP:如何使用 CASE 查询更好地解析 postgreSQL WHERE
- r - 过滤到两列中有重复值的所有行 (dplyr)
- c# - C#/.NET - 为什么 string[] 可以转换为 object[] 但 int[] 不是?
- sql - 如何从where语句中提取所有数据,包括重复记录
- xml - 为什么我的设计布局编辑器和模拟器看起来如此不同?
- mongodb - Azure CosmosDB 索引集合名为“未定义”
- javascript - 为什么 emscripten 不编译我的函数?
- javascript - Selenium WebDriver 在大约 70 秒后崩溃 (WebDriverError: newSession)
- javascript - Webrtc GetUserMedia Firefox 共享特定窗口
- sql - 来自输入列的 SQL Server 函数中的表变量