编写一个名为“ find_value”的函数,该函数将整数列表作为参数并搜索值8。如果列表中有8,则该函数将返回一个布尔值,表示true;否则,则返回false。 >
def find_value(number):
for i in number:
if i in number is 8:
return True
else:
return False
函数find_value在输入[[11,3,11,1,8,12]]上不正确
返回:False
预期:真
答案 0 :(得分:1)
StackOverflow要求一个人在发表问题之前做必要的作业。既然您是新来者,这是一个解决方案。但强烈建议您阅读准则。
示例代码:
def find_value(number):
return bool(8 in number)
输出:
>>> find_value([1,2,3,4])
False
>>> find_value([1,2,3,4, 8])
True
>>> find_value([])
False
>>>
答案 1 :(得分:1)
这将使用 lambda 为x==8
过滤列表。然后,如果有任何项填充了过滤列表,则any
将返回True
,否则将返回False
print(any(list(filter(lambda x: x == 8, [11, 3, 11, 1, 8, 12])))) # => True