【问题标题】:python: check if all elements the same in an list [closed]python:检查列表中的所有元素是否相同[关闭]
【发布时间】:2016-09-27 21:45:20
【问题描述】:

我正在使用以下代码检查列表中的所有元素是否相同:

def sameItem(myList):
    return all(x==myList[0] for x in myList)

但是,在我的测试用例中:

myL1 = ['dog','cat','dog']
sameItem(myL1)

返回True。不应该是假的吗?或者我在sameItem() 函数中有错误吗?

另外,我使用的是 Jupyter Notebook,这种情况会导致任何问题吗?

谢谢!

【问题讨论】:

  • 是的。第一项是“狗”,第二项“猫”不等于“狗”。它不应该返回 False 吗?
  • 不可复制。它为我返回 False
  • 你也在用python 2.7吗?
  • 在 Python 2.7 和 3.4 上都试过了。返回 False。
  • 难道 all() 函数对我的 python 不起作用?

标签: list python-2.7 iterator jupyter-notebook


【解决方案1】:

你的方法应该是正确的并且对我有用。作为替代方案,您可以尝试这种方法来仔细检查,这是做同样事情的一行

return myList[1:] == myList[:-1]

【讨论】:

  • 这对我有用。可以问一下是什么意思吗?谢谢
  • myList[1:] 返回列表中除第一个之外的所有元素的列表。 myList[:-1] 返回列表中除最后一个之外的所有元素的列表。您可以在 python 解释器中尝试一下,以了解索引。如果可行,您介意将答案标记为正确吗?这样就知道问题已经解决了。谢谢!
猜你喜欢
  • 2011-04-20
  • 2021-03-13
  • 1970-01-01
  • 2011-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-19
相关资源
最近更新 更多