Python:确定列表中的所有项目是否都是同一项目

发布于 2021-01-29 19:06:15

在我的一些代码中,我将一系列对象放入列表中,并根据其属性(即字符串)构建了另一个列表。我需要确定第二个列表中的所有项目是否具有完全相同的值,而无需事先知道它是哪个值,然后返回布尔值,以便根据结果在代码中可以做不同的事情。

我事先不知道属性的名称,这就是为什么我试图使某些属性尽可能通用。

为了使示例更清楚,一个理想的函数“ all_same”将像这样工作:

>>> property_list = ["one", "one", "one"]
>>> all_same(property_list)
True
>>> property_list = ["one", "one", "two"]
>>> all_same(property_list)
False

我当时想制作一个唯一元素列表,然后检查其长度是否为1,但是我不确定这是否是最优雅的解决方案。

关注者
0
被浏览
47
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看