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

Python中类似Java OptString方法处理KeyError的示例请求

解决方案:用Python字典的get()方法实现类似OptString的功能

你提到的Java里OptString的功能,在Python中可以通过字典的**get()方法**直接实现,它允许你指定键不存在时返回的默认值,无需异常处理就能自动填充缺失值(比如pd.NA或np.nan)。

改进后的代码示例

首先补全你代码中缺失的requests导入,然后替换索引访问为get()方法:

import pandas as pd
import requests  # 补充缺失的导入

mass = []
fall = []
year = []

req = requests.get("https://data.nasa.gov/resource/y77d-th95.json")
response = req.json()

# 遍历每个条目,用get()方法安全获取值,缺失时返回pd.NA
for item in response:
    mass.append(item.get('mass', pd.NA))
    fall.append(item.get('fall', pd.NA))
    year.append(item.get('year', pd.NA))

更简洁的列表推导式写法

如果想简化代码,可以用列表推导式直接生成三个列表:

import pandas as pd
import requests

req = requests.get("https://data.nasa.gov/resource/y77d-th95.json")
response = req.json()

mass = [item.get('mass', pd.NA) for item in response]
fall = [item.get('fall', pd.NA) for item in response]
year = [item.get('year', pd.NA) for item in response]

说明

  • dict.get(key, default)的作用:尝试获取字典中key对应的值,若key不存在则返回指定的default值(这里用pd.NA是pandas推荐的缺失值标记,也可以用np.nan,但需要提前导入numpy)。
  • 这种写法完全替代了异常处理的逻辑,代码更简洁易读,和Java的OptString用法逻辑一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 06:13:15