Python:确定序列中的任何项目是否等于任何其他项目

2023-11-23

我想比较多个对象并返回True仅当所有对象之间不相等时。我尝试使用下面的代码,但它不起作用。如果 obj1 和 obj3 相等且 obj2 和 obj3 不相等,则结果为True.

obj1 != obj2 != obj3

我有超过 3 个对象需要比较。使用下面的代码是没有问题的:

all([obj1 != obj2, obj1 != obj3, obj2 != obj3])

如果对象都是可哈希的,@Michael Hoffman 的答案就很好。如果没有,您可以使用itertools.combinations:

>>> all(a != b for a, b in itertools.combinations(['a', 'b', 'c', 'd', 'a'], 2))
False
>>> all(a != b for a, b in itertools.combinations(['a', 'b', 'c', 'd'], 2))
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:确定序列中的任何项目是否等于任何其他项目 的相关文章

随机推荐