【发布时间】:2012-01-10 02:07:09
【问题描述】:
我有一个字典,其中一些值是不可散列的。我需要一些方法来比较这两个无序组,以确保它们包含相同的元素。我不能使用列表,因为列表相等性考虑了顺序,但集合不起作用,因为 dicts 不可散列。我浏览了python文档,唯一看起来有用的是dict的视图,它在某些情况下是可散列的,但在这种情况下,这也无济于事,因为其中一个值是一个包含列表本身的对象,这意味着字典的视图也不会是可散列的。
对于这种情况是否有一个标准容器,或者我应该只使用列表并遍历两个列表中的每个元素并确保另一个列表中的某处有一个相等的元素?
【问题讨论】:
-
我也遇到过类似的情况,我将 dict 复制到一个临时排序列表中,只是为了进行比较。尺寸或其他考虑因素可能会或可能不会使这成为您案例的好选择。
-
究竟是什么让它们不可散列?如果它们不是可散列的,那么您究竟如何比较它们的相等性?
-
@Karl 字典中的值之一是一个列表。
标签: python collections