我有一个对象实例,需要将其与同一类的实例列表进行比较,以找出具有相同属性的实例。
还提供了用于比较的属性,并在每次调用时动态加载。
最后,我需要返回成功的实例(如果有)、用于比较的属性或失败实例的列表以及不同的字段(如果没有匹配)。
def func(tomatch,listofprospects):
attrs = <load dynamically>
for l in listofprospects:
failues=list()
mismatch=match(tomatch,l,attrs)#returns any mismatched fields for this element
if not mismatch:
return (l,attrs)
else:
filures.extend(dict(l.name(),mismatch))
return(failures,attrs)
我对函数的返回值在不同情况下的含义不同这一事实感到不舒服。
围绕这个推荐的约定是什么?
此外,是否有办法将其纳入理解/地图形式 - 尽管返回值很丑陋。