当前位置: 首页 > 面试题库 >

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

贺宏逸
2023-03-14
问题内容

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

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

为了使示例更清楚,一个理想的函数“ 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


 类似资料:
  • 问题内容: 我试图确定每个项目的确定性,如果它们在JComboBox下拉列表的JViewPort中不可见 (我的周五OT) 编辑:我不想实现MouseListener重复事件到System.out.print(…) 无法通过JCombo#Model通过使用SwingUtilities http://download.oracle.com/javase/6/docs/api/javax/swing/

  • 问题内容: 我有两个清单说 现在,我想找出List2中是否存在List1的所有元素。在这种情况下,就全部存在。我不能使用子集函数,因为我可以在列表中重复元素。我可以使用for循环来计算List1中每个项目的出现次数,并查看它是否小于或等于List2中的出现次数。有一个更好的方法吗? 谢谢。 问题答案: 当出现次数无关紧要时,您仍可以通过动态创建集合来使用子集功能: 如果需要检查每个元素在第二个列表

  • 问题内容: 如何检查列表中的元素是否属于同一类型,而又尽可能不检查每个元素? 例如,我想要一个函数来检查此列表中的每个元素是否为整数(显然是错误的): 问题答案: 尝试与结合使用: 您甚至可以根据需要检查多种类型: 并不是说这也会选择继承的类。例如: 如果您 需要 将自己限制为整数,可以使用。但这是 非常 罕见的情况。 您可以编写一个有趣的函数,如果所有其他元素都是同一类型,它将返回序列中第一个元

  • 问题内容: 在简单的清单中,下面的检查很简单: 但如果是列表列表,例如: 为了退货该如何解决? 问题答案: 使用内置功能尝试此操作。这是最惯用的解决方案,并且效率很高,因为一旦找到第一个匹配项,就会短路并停止:

  • 问题内容: 我需要以下功能: 输入: 输出: 如果输入列表中的所有元素使用标准相等运算符求值彼此相等; 除此以外。 性能:当然,我不希望产生任何不必要的开销。 我觉得最好: 遍历列表 比较相邻元素 和AND所有结果布尔值 但我不确定最Pythonic的方法是什么。 问题答案: 通用方法: 单线: 也是单线的: 这三个版本之间的区别在于: 在内容中必须是可哈希的。 并且可以使用任何迭代器,但chec

  • 问题内容: 我有3个表,每个表由称为用户名的列组成。在注册部分,我需要检查所请求的用户名是否是新的和唯一的。 在继续之前,我需要一个SQL来告诉我该用户是否存在于任何这些表中。我试过了: 那是路要走吗? 问题答案: