python关于filter()的使用

问题:(1)列表[('tom',60),('jerry',70),('ken',65),('robbort',79)],记录了学生的python课程成绩,过滤出成绩大于等于70的元素、组成新列表。

(2)某化妆品专柜,本月销售情况[('雅诗兰黛',2980,65),('OLAY',1288,260),('兰蔻',3200,82),('花西子',980,310)];使用filter,过滤出销量大于100的爆款产品。

错误代码:

a=[('tom',60),('jerry',70),('ken',65),('robbort',79)]
def
    for i in a:
        if i[1]>=70:
            i=True
        else:i=False
    return a
b_list=filter(score(a),a)
print(list(b_list))

报错内容:Traceback (most recent call last):
File "C:\Users\Stu\PycharmProjects\pythonProject1\66.py", line 3, in
del(list)
NameError: name 'list' is not defined

尝试思路:查找完攻略:使用print(list)和del(list)也没有用


def score(a):
    if a[1] >= 70:
        return True
    return False
if __name__ == '__main__':
    a = [('tom', 60), ('jerry', 70), ('ken', 65), ('robbort', 79)]
    b_list = filter(score, a)
    print(list(b_list))