Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Algo来确定元素的哪个属性不正确_Python_Algorithm_Class_Compare_Element - Fatal编程技术网

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)也总是在一起