我已经为这个问题写了一些代码。(Python27)
图形表示为字典,其中包含冻结集键和冻结集集:
sample_graph = {frozenset([7]): set([frozenset([4]), frozenset([5]), frozenset([3])]), frozenset([5]): set([frozenset([7]), frozenset([2]), frozenset([1])]), frozenset([3]): set([frozenset([7]), frozenset([4]), frozenset([2]), frozenset([1])]), frozenset([6]): set([frozenset([4]), frozenset([2]), frozenset([1])]), frozenset([4]): set([frozenset([6]), frozenset([7]), frozenset([3]), frozenset([1])]), frozenset([1]): set([frozenset([6]), frozenset([4]), frozenset([5]), frozenset([2]), frozenset([3])]), frozenset([2]): set([frozenset([6]), frozenset([5]), frozenset([3]), frozenset([1])])}
图中的所有结点都应该是两个结点的集合。此时它会遇到keyror。在
^{pr2}$
我认为问题可能在于
is
关键字的使用。请注意,在Python中,^ {< CD1}}只有当两个参数引用C++中的“e>精确e> eEM>相同对象(等于C++中的{{CD3}})时才返回true。如果内容是相同的,则{{CD4}}操作符返回true(相当于C++中的{{CD5}})。在因此,与其
is not
,不如试试!=
。在我曾经在python中遍历图中的元素时遇到过同样的问题。:)
另外,我会将以下行写成完整的
if
:相关问题 更多 >
编程相关推荐