这是我的功能:
data = (130, 150, 200, 100, 130, 147)
def find_elevated_bloodpressure(bloodpressure, upper_limit):
for x in bloodpressure:
if x > upper_limit:
return x
这只返回列表中的第一个,但我希望它返回所有这些。
find_elevated_bloodpressure(data, 140)
如何获取符合条件x > upper_limit
的所有元素的列表?
答案 0 :(得分:5)
当你调用return
时,该函数接受传递给return
的任何内容,并将其作为唯一值返回。如果你想要满足条件的所有元素,你可以做一些事情,比如返回列表理解:
return [x for x in bloodpressure if x > upper_limit]
或将其用作发电机
#return x <-- replace with yield
yield x
答案 1 :(得分:1)
您需要将结果构建到列表中,然后返回。像这样:
data = (130, 150, 200, 100, 130, 147)
def find_elevated_bloodpressure(bloodpressure, upper_limit):
results = []
for x in bloodpressure:
if x > upper_limit:
results.append(x)
return results