List包含三个相同的元素?

时间:2016-09-30 02:13:52

标签: python list count integer

如果列表中有三个相同的整数,则返回布尔值True。如果它没有三个相同的整数,它将返回一个布尔值False。我写这篇文章时遇到了麻烦。计数功能是否这样做?还要导入必要的空列表吗?我有这个,我得到错误“'int'对象没有属性'count'”。谢谢!

    def threeOfAKind(aList,n):
       if aList.count(n):
           return True
       else:
           return False

threeOfAKind([1,2,3,4,4,4],4])应该返回True 我尝试了aList.count(n),但现在无论我怎么称,我都会得到真实

1 个答案:

答案 0 :(得分:0)

这一行:

if aList.count(n):

是您的代码无效的原因。

count list函数返回列表中n的出现次数。如果您的参数是[1,2,3,4,4,4]和4,aList.count(n)将返回3,因为4在列表中出现3次。

因此上面的代码行基本上与:

相同
if 3:

现在3将转换为布尔值,因为这是if条件的预期值。如果您想知道3被转换为True或False,只需在交互式Python解释器中尝试bool(3)

您想要检查列表中是否n发生了3次,因此您可能需要将aList.count(n)的返回值与某些内容进行比较?如果aList.count(n)返回2或4,你显然不想返回True,是吗?