如果列表中的整数k和n,函数返回True?

时间:2016-10-01 03:49:19

标签: python list

python非常新...如果我给出一个包含两个整数n和k的列表,该函数应该返回布尔值True。 K必须在列表中的次数为n次。例如,如果我调用matchingValues([1,2,1,4,1,1],1,4)应该返回True,因为1在列表中4次。我猜我必须使用.count()选项,但不知道如何编写它...希望我可以提供更多代码但不幸的是我很丢失

    def matchingValues(aList,n,k):

2 个答案:

答案 0 :(得分:1)

比涉及len()的解决方案更好的是对列表使用.count()方法。它接受一个参数,并返回参数在调用它的列表中出现的次数。

答案 1 :(得分:1)

您要做的是定义一个变量,该变量计算列表中n的次数

found = 0

然后,使用循环遍历列表

for x in range(0, len(aList)):
    if aList[x] == n:
        found += 1
return(found == k)

但是,如果您想避免使用count功能:

return(aList.count(n)==k)

使用手册,手写循环将允许您在知道列表中有k n后立即退出循环,如果您希望循环像这样工作(但是,我没有提供该代码。我只写了count确切的内容

如果您希望在k中至少有n aList,这对您有用

found = 0
for x in range(0, len(aList)):
    if aList[x] == n:
        found += 1
        if found == k:
            return True
return False