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

reducer输出为嵌套列表而非预期字符串,如何调整代码实现需求

嵌套列表输出原因解释
  • collections.Counter的most_common(n)方法的返回值本身就是由(元素, 出现次数)元组组成的列表,你当前代码直接将这个列表作为yield返回值的第二部分,所以输出结果自然会呈现嵌套列表结构
  • 代码中sorted(x, key=x.get, reverse=True)这一行没有实际作用:sorted方法会返回排序后的新序列,你没有赋值给变量也没有后续使用,属于冗余代码
代码修改方案

你需要从most_common(3)的返回结果里提取每个元组的第一个元素(也就是关键词本身),再用空格拼接为字符串即可,修改后代码如下:

def reducer(self, year, words):
    x = Counter(words)
    most_common = x.most_common(3) 
    # 提取前3个高频词,拼接为空格分隔的字符串
    top_words = ' '.join([item[0] for item in most_common])
    yield (year, top_words)

修改后就会输出你预期的"2020" "coronavirus china economy"格式结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:06:03