【发布时间】:2012-03-31 20:28:59
【问题描述】:
我有一个列表,上面有学生的分数。
s = [50,62,15,76,57,97,82,99,45,23]
我想根据分数给学生打分:
<40 - Fail
>50 - A Grade
>75 - A++ Grade
我可以通过迭代循环来做到这一点,或者我可以使用 lambda 找到每个列表。 例如:
>>> filter(lambda x:x>=50, s)
[50, 62, 76, 57, 97, 82, 99]
但是,在过滤器中,我一次只能使用一个函数(例如:大于 50 的标记)。有没有办法可以使用过滤器和 lambda 并在一行中获得所需的结果?期望输出为带有等级的标记。 (例如:50 - A、62 - A、76 - A++ ...)
【问题讨论】: