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

Python调用intersection()方法报TypeError: unhashable type: 'list'错误

问题原因
  • 语法错误:函数定义def main()末尾遗漏英文冒号,会先触发语法报错
  • 核心逻辑错误:resp.split()返回列表类型,使用append()会将整个列表作为单个元素存入provided_List,最终得到嵌套列表;同时只有集合(set)支持intersection交集方法,列表本身无该方法,且列表属于不可哈希类型,无法参与集合运算,因此触发TypeError: unhashable type: 'list'
修正代码
# 提前将预设关键词转为集合,方便后续交集运算
main_keywords = {"name", "job", "backstory", "all"}

def main():
    resp = input("Do you need a name, job, backstory, or all?")
    # 将用户输入分割后转成集合,和预设关键词取交集,自动过滤无关内容
    user_input = set(resp.split())
    matched = user_input.intersection(main_keywords)
    # 若需要返回列表格式可改为 print(list(matched))
    print(matched)

main()
效果说明

如果用户输入name test backstory 123,最终输出为{'name', 'backstory'},自动过滤了输入中的非关键词内容,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:42:04