在我的一些代码中,我将一系列对象放在一个列表中,并根据它们的属性构建一个附加列表,这是一个字符串。我需要确定第二个列表中的所有项目是否具有完全相同的值,而不事先知道它是哪个值,并返回一个 bool 值,以便我可以根据结果在我的代码中做不同的事情。
我无法事先知道属性的名称,这就是为什么我要尽可能地制作一些通用的东西。
为了让这个例子更清楚,一个名为“all_same”的理想函数会这样工作:
>>> property_list = ["one", "one", "one"]
>>> all_same(property_list)
True
>>> property_list = ["one", "one", "two"]
>>> all_same(property_list)
False
我正在考虑制作一个独特元素列表,然后检查其长度是否为 1,但我不确定这是否是最优雅的解决方案。
最佳答案
def all_same(items):
return all(x == items[0] for x in items)
示例:
>>> def all_same(items):
... return all(x == items[0] for x in items)
...
>>> property_list = ["one", "one", "one"]
>>> all_same(property_list)
True
>>> property_list = ["one", "one", "two"]
>>> all_same(property_list)
False
>>> all_same([])
True
关于Python:确定列表的所有项目是否都是同一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3787908/