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

如何向函数传入字典并返回完整消息列表?解决仅返回单个元素问题

问题分析

原函数无法添加所有消息的原因有两个:

  1. 多余的内层for k,v in message.items()循环:遍历消息的键值对完全没必要,我们只需要把整个message对象加入列表。
  2. 过早的return语句:在处理第一条消息的第一个键值对时就直接返回函数,导致后续消息根本没机会被处理。
修改方案

方案一:简化循环逻辑(适合需要逐个处理消息的场景)

message_list = []

def return_message(message_list, results):
    messages_ = results.get('messages', [])
    # 遍历所有消息,逐个添加到列表
    for message in messages_:
        message_list.append(message)
    # 所有消息处理完成后再返回列表
    return message_list

方案二:批量添加(代码更简洁高效)

如果不需要对单个消息做额外处理,直接用extend方法一次性把所有消息加入列表:

message_list = []

def return_message(message_list, results):
    messages_ = results.get('messages', [])
    message_list.extend(messages_)
    return message_list
验证效果

调用修改后的函数后,message_list会包含results里的所有消息:

return_message(message_list, results)
print(message_list)

输出:

[{'id': '182f01f99c14b435', 'threadId': '182ef213b5174c23'}, {'id': '182f0120c66cc135', 'threadId': '182ef214b5174c23'}]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:20:41