如何编写Python extract函数从字典匹配列表键提取内容返回指定格式列表
实现思路
- 遍历传入的待查询食谱名称列表,逐个匹配嵌套字典
data中对应的食谱条目 - 对每个匹配到的配料字典,将键值对拼接为「配料名:数量」格式的字符串,再用逗号+空格拼接为完整的配料字符串
- 所有食谱的配料字符串汇总为列表返回
代码实现
def extract(recipes, data): res = [] for name in recipes: # 若存在大小写匹配问题,可统一转为小写匹配,取消下方注释即可 # ing_dict = next((v for k, v in data.items() if k.lower() == name.lower()), {}) ing_dict = data.get(name, {}) # 若需要和示例输出一致、冒号后统一加空格,将下方改为 f"{k}: {v}" 即可 ing_str = ", ".join([f"{k}:{v}" for k, v in ing_dict.items()]) res.append(ing_str) return res
注意事项
你给出的示例调用中,待查询食谱名是T-bone(小写b),但data中对应的键是T-Bone(大写B),直接匹配会返回空字符串。如果需要兼容大小写差异,取消代码中注释的大小写适配逻辑即可。
内容的提问来源于stack exchange,提问作者Joshua Bradley
相关产品推荐
相关产品推荐

