You need to enable JavaScript to run this app. 嵌套列表数据集mainlist统计Top1000高频词的Counter实现异常咨询
优惠活动
大模型
产品
解决方案
定价
更多

嵌套列表数据集mainlist统计Top1000高频词的Counter实现异常咨询

错误原因

直接传mainlist给Counter会直接报错,因为mainlist是嵌套列表,它的一级元素是各个子列表,不是待统计的单个词。Counter迭代mainlist时拿到的是不可哈希的子列表,既没法作为统计键,也完全没遍历到你要统计的词语本身。

可行实现方案

首先把嵌套列表拍平为一维的词语列表,再传入Counter统计即可,代码示例:

from collections import Counter

# 拍平两层嵌套结构,取出所有单个词语
flat_word_list = [word for sublist in mainlist for word in sublist]
# 统计词频并取出频率前1000的词语
counts_top1000 = [word for word, word_count in Counter(flat_word_list).most_common(1000)]
可选优化

如果你的数据里存在空字符串、无意义占位值,可以在拍平的同时做过滤,避免无效值被纳入统计:

flat_word_list = [
    word.strip() 
    for sublist in mainlist 
    for word in sublist 
    if word and str(word).strip() != ""
]
额外排查点

如果运行上述代码仍报错,优先检查两个点:

  • 嵌套结构的叶子节点是否都是可哈希类型(通常为字符串),如果子列表里混入了列表、字典等不可哈希的元素,需要先做数据清洗
  • 如果嵌套层级不止两层,需要调整拍平逻辑,把所有叶子节点的词语全部抽出来再做统计

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 01:06:10