这是一个不同的问题,但我意识到class == class
会返回False
。我读到您可以使用type(class) == type(class)
,但我想知道是否会有更简洁的方法来执行此操作。
我无法复制确切的代码,因为它已经到了这个阶段的所有位置,但这里有一个例子:
a = self.data['test']['Frames']
b = self._original_data['test']['Frames']
print a == b
print str(a) == str(b)
结果是:
defaultdict(<class '__main__._MovementInfo'>, {0: _MovementInfo(location=None, rotation=None, scale=None, visibility=None), 10: _MovementInfo(location=None, rotation=None, scale=None, visibility=None)})
defaultdict(<class '__main__._MovementInfo'>, {0: _MovementInfo(location=None, rotation=None, scale=None, visibility=None), 10: _MovementInfo(location=None, rotation=None, scale=None, visibility=None)})
False
True
我想将self.data
与self._original_data
进行比较,后者有更多的值,所以我想知道我是否可以一次完成所有操作而不必分开{{1} }。
以下是defaultdict
中一个值的示例,我按此排序以始终以相同的顺序返回键(其中包含0.0的错误,但它不会导致问题) :
sorted(self.data.iteritems(), key=lambda (x, y): y['ListOrder'])
有没有办法正确地执行此操作,还是应该将其转换为字符串?