我们设置了S
个元组。
每个元组为(string, string, list)
下面的代码:
def f(entry_set, def_dict, S):
for entry in entry_set:
if entry[1] in def_dict:
S.add((entry[0], entry[1], def_dict[entry[1]]),) // error
给出错误:TypeError: unhashable type: 'list'
def_dict
的构造带有附加列表的值。
要添加条目,是否使用散列法来查找set元素的唯一性?
答案 0 :(得分:0)
version: '3'
services:
my_project:
image: some_registry/my_project
ports:
- "127.0.0.1:2015:2015"
labels:
- "traefik.frontend.rule=Host:subdomain.domain.me"
是可变的引用,因此不能散列,因为它引用了内存。如果您可以将列表转换为元组,则可以对其进行哈希处理。
list
相对于:
set((1, 2, [3, 4]))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-d0176c73c39f> in <module>()
----> 1 set((1, 2, [3, 4]))
TypeError: unhashable type: 'list'