【问题标题】:python TypeError unhashable type listpython TypeError 不可散列的类型列表
【发布时间】:2018-12-26 22:02:32
【问题描述】:

我有以下字典:

equipment_element = {'equipment_name', [0,0,0,0,0,0,0]}

我不知道这个列表有什么问题?

我正在尝试从这篇帖子 Python: TypeError: unhashable type: 'list' 向后工作

但我的键不是列表,我的值是。

我做错了什么?

【问题讨论】:

  • TBH,我发现字典和集合使用基本相同的语法令人困惑。有两个元素,唯一可以区分字典和集合的是中间的符号::,... 更糟糕的是,{} 构造了一个空字典,而看起来构造一个集合更合乎逻辑。
  • @ForceBru python 文档推荐使用set() 创建空集。我猜他们用完了(类型的)大括号。 虽然构造一个集合似乎更合乎逻辑。实际上只有几周的 python 经验,你就会习惯dicts 被广泛使用的事实比sets{} 的默认行为

标签: python


【解决方案1】:

这不是字典,而是集合。

【讨论】:

    【解决方案2】:

    您正在尝试创建集合,而不是字典

    修改如下。将两者之间的, 替换为:

    equipment_element = {'equipment_name': [0,0,0,0,0,0,0]}
    

    【讨论】:

    • 哈哈!哎呀,冒号是胜负的区别
    【解决方案3】:

    也许您正在寻找这种语法

    equipment_element = {'equipment_name': [0,0,0,0,0,0,0]}
    

    equipment_element = dict('equipment_name' = [0,0,0,0,0,0,0])
    

    equipment_element = dict([('equipment_name', [0,0,0,0,0,0,0])])
    

    此语法用于创建集合:

    equipment_element = {'equipment_name', [0,0,0,0,0,0,0]}
    

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 2013-01-23
      • 2018-03-13
      • 1970-01-01
      • 2020-03-28
      • 1970-01-01
      • 1970-01-01
      • 2016-03-16
      • 1970-01-01
      相关资源
      最近更新 更多