【发布时间】:2010-11-21 08:30:26
【问题描述】:
在 Python 2.6 解释器上测试:
>>> a=set('abcde')
>>> a
set(['a', 'c', 'b', 'e', 'd'])
>>> l=['f','g']
>>> l
['f', 'g']
>>> a.add(l)
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
a.add(l)
TypeError: list objects are unhashable
我认为我无法将列表添加到集合中,因为 Python 无法判断我是否两次添加了相同的列表。有解决办法吗?
编辑:我想添加列表本身,而不是它的元素。
【问题讨论】:
-
您要将列表添加到集合还是列表中的项目?
-
列表本身 - 我想要一组列表。
-
似乎最适合的答案是被低估的答案,建议在将 lst 本身添加到某些列表/队列/等之前使用 aSet.add(id(lst)) ,以确保您做到了.您应该重新考虑接受的答案。
标签: python list python-2.7 set