以下是一个示例函数,它从字典中提取信息,并在某些键或子键缺失时返回指定的默认值:
def extract_information(data, keys, default=None):
"""
从字典中提取信息,并在某些键或子键缺失时返回默认值
:param data: 要提取信息的字典
:param keys: 需要提取的键或子键列表
:param default: 缺失键或子键时返回的默认值,默认为None
:return: 从字典中提取的信息或默认值
"""
current = data
for key in keys:
if isinstance(current, dict) and key in current:
current = current[key]
else:
return default
return current
使用示例:
data = {
"person": {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
}
}
}
# 提取存在的键或子键
name = extract_information(data, ["person", "name"])
age = extract_information(data, ["person", "age"])
street = extract_information(data, ["person", "address", "street"])
print(name) # 输出: John
print(age) # 输出: 30
print(street) # 输出: 123 Main St
# 提取缺失的键或子键
city = extract_information(data, ["person", "address", "city"])
zipcode = extract_information(data, ["person", "address", "zipcode"], default="N/A")
print(city) # 输出: New York
print(zipcode) # 输出: N/A
在上面的示例中,extract_information
函数接受一个字典、一个键或子键列表和一个默认值。它逐个检查键或子键是否存在,并返回对应的值。如果在提取过程中任何一个键或子键缺失,则返回默认值。