我有一个像这样的列表列表:
l = [[1,2], [3,4], [5,6]]
如何将l
用作词典中的键?我尝试从frozenset
中制作l
:
l = frozenset(l)
d[l] = True
但我正在
TypeError: unhashable type: 'list'
答案 0 :(得分:3)
TypeError:不可用类型:'list'
这是因为您仍然拥有不可用的内部列表。
你可以这样做:
>>> key = frozenset(map(frozenset, l))
>>> {key: 'test'}
{frozenset([frozenset([5, 6]), frozenset([1, 2]), frozenset([3, 4])]): 'test'}
或者,将其设为tuple
:
>>> key = tuple(map(tuple, l))
>>> {key: 'test'}
{((1, 2), (3, 4), (5, 6)): 'test'}