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

Python编写get_data提取字典列表属性仅返回首个值问题求解

问题排查与修正方案

现有代码的错误点

  • 提前return终止执行:函数在第一次进入循环时就执行return语句,直接结束函数运行,不会遍历后续的鸭子数据,所以只能返回第一个字典的第一个属性值。
  • 多余的嵌套循环:不需要额外遍历字典的所有key,函数第二个参数key就是你要提取的属性名,直接取字典对应key的值即可。
  • 调用参数错误:调用get_data时第二个参数传了0,不符合需求,应该传你要提取的属性名,比如'name'、'weight'等字符串。

修正后的代码

get_data函数实现

def get_data(data, key):
    result = []
    # 遍历列表里的每个鸭子字典
    for duck_dict in data:
        # 提取对应key的值加入结果列表
        result.append(duck_dict[key])
    return result

调用示例

# 提取duck_list_2里所有鸭子的name属性
print(get_data(duck_list_2, 'name'))
# 输出:['Mysha', 'Ruben', 'Tara', 'Shaurya']

补充:main函数的扩展实现参考

你可以根据实际业务需求在main函数里调用get_data处理两组鸭子数据,示例如下:

def main(duck_list_1, duck_list_2):
    # 示例:提取两组鸭子的体重数据返回
    weight_1 = get_data(duck_list_1, 'weight')
    weight_2 = get_data(duck_list_2, 'weight')
    return weight_1, weight_2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:45:03