You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中从嵌套字典中打印多个指定键的值

解决嵌套字典中获取多个键值的问题

嘿,这个问题很常见,我来帮你理清楚!

首先,你之前的错误原因很明确:event["Records"][0]["Sns"]是一个字典对象,而你用了()去调用它——这是函数调用的语法,字典可不是函数,所以才会抛出TypeError: 'dict' object is not callable的错误。我们需要用字典的键访问语法(方括号[])来获取对应的值。

下面给你几种实用的正确实现方式:

方式1:逐个访问并打印

这是最直观的方式,先把嵌套的Sns字典取出来,再分别访问需要的键:

# 先把Sns字典存到变量里,避免重复写长路径
sns_info = event["Records"][0]["Sns"]

# 分别打印每个键值
print(sns_info["Timestamp"])
print(sns_info["Subject"])
print(sns_info["Message"])

# 或者一次性打印在一行
print(sns_info["Timestamp"], sns_info["Subject"], sns_info["Message"])

方式2:批量收集值再处理

如果需要的键比较多,可以把键名放到列表里,用列表推导式批量获取值:

# 定义需要获取的键列表
target_keys = ["Timestamp", "Subject", "Message"]
sns_info = event["Records"][0]["Sns"]

# 批量提取值
target_values = [sns_info[key] for key in target_keys]

# 打印结果列表
print(target_values)
# 或者循环逐个打印
for value in target_values:
    print(value)

方式3:打印键值对(更清晰)

如果想同时看到键名和对应的值,可以用循环遍历键列表:

target_keys = ["Timestamp", "Subject", "Message"]
sns_info = event["Records"][0]["Sns"]

for key in target_keys:
    print(f"{key}: {sns_info[key]}")

这样执行后,你就能得到想要的多个键值内容啦!

内容的提问来源于stack exchange,提问作者vjwilson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 12:07:33