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