Possible Duplicate:
function in function
我怎样才能使功能。显示所有不好的值而不是一个?你知道吗
def get_bad_results(person_results):
for i in person_results:
if i[1]>i[3] or i[1]<i[2]:
return i[0]
test_results = [["White blood cells",8.5,2,7],
["Neutrophils",5.3,2.5,5],
["Red blood cells", 12.4, 9,15]]
a = get_bad_results(test_results)
print a
显示White blood cells
而不是
White blood cells, Neutrophils
您正在查找
yield
关键字,该关键字生成一个生成器:然后可以迭代函数的结果(例如,调用
list()
来创建列表)。生成器比直接生成列表更可取,因为它意味着值是惰性地生成的,这在很多情况下更节省内存。你知道吗顺便说一句,索引
i
有点难看,在这种情况下,解压这些值将使代码更具可读性:(当然,我在这里编了名字,因为我不知道上下文)。你知道吗
如果不想使用生成器,可以将坏元素附加到列表中,然后返回:
或者使用列表理解:
函数将返回符合语句的第一个匹配项。要返回全部,可以将它们保存在列表中,循环完成后,返回列表。你知道吗
相关问题 更多 >
编程相关推荐