Python Algo来确定元素的哪个属性不正确
假设我有一个元素列表,每个元素都有属性/字段。所有这些属性都需要匹配特定条件,如果一个属性不符合,我需要找到它 例如:Python Algo来确定元素的哪个属性不正确,python,algorithm,class,compare,element,Python,Algorithm,Class,Compare,Element,假设我有一个元素列表,每个元素都有属性/字段。所有这些属性都需要匹配特定条件,如果一个属性不符合,我需要找到它 例如: class Vehicle(object): self.type = 'car' self.make = 'Honda' self.model = 'Civic' self.tires = 4 self.trims = ['trim1', 'trim2'] self.fetaures = {'se
class Vehicle(object):
self.type = 'car'
self.make = 'Honda'
self.model = 'Civic'
self.tires = 4
self.trims = ['trim1', 'trim2']
self.fetaures = {'seats': 'leather', 'steering': 'powered'}
现在因为它是一辆汽车,它必须有4个轮胎,因为它是思域,它必须是本田等等。
这将是非常糟糕的测试每个属性的值对彼此
解决这个问题的最好办法是什么
我可以考虑将一个“分数”或权重映射到每个属性,如果所有属性都一致(它们彼此都有意义),我将得到所有元素的预期总分X,该总分X应该是相同的。如果一个元素有一个不一致的值,我如何知道它是/是哪个属性?如果我有Z=X-Y,那么如何判断Y对应于一个特定的属性
我如何实现这一点?这是最好的方法吗?我应该使用不同于对象/字典的数据结构吗
谢谢 尝试将其表述为约束满足问题,是否只有一对符合要求?如果这样做,则为每个值设置一个计数器,并为每对值设置一个计数器,如果某个值95%的时间出现在某一对上,则所有其他值均为suspects@abatea谢谢你的提示。我会更深入地研究它,看看我是否能用它做些什么。@trigonom,它实际上需要符合所有的值我认为通过成对,你会得到你需要的所有组合,(因为如果(x,y,z)总是在一起,那么(x,y)也总是要一起尝试将其表述为约束满足问题。是否只有对符合要求?如果是这样,则每个值都有一个计数器,每对值都有一个计数器,如果某个值95%的时间出现在某一对上,则所有其他值都是符合要求的suspects@abatea谢谢你的提示。我会更深入地了解,看看我是否能帮上忙o与之相关的东西。@trigonom,它实际上需要符合所有值。我认为通过成对,你将得到你需要的所有组合,(因为如果(x,y,z)总是在一起,那么(x,y)也总是在一起