python关于filter函数的运用

img

问题:使用filter函数筛选列表中的所有非素数,使用内置函数filter()将isPrime函数作用于包含n个整数的列表上,得到一个筛选结果(包含非素数的列表)并输出。
输入用例
[2, 3, 18, 19, 24, 30, 62, 62, 88, 99]
输出用例
[18, 24, 30, 62, 62, 88, 99]

a=input("请输入一个整数:").split(",")
def isPrime(a):
    for i in a:
        for k in (2,int(i)):
            if  i%k==0: 
                b.remove(i)
c=list(filter(isPrime,a))
print(c)                

请问我的代码要怎么修改啊

你的a是个input,你怎么把它传进去了
必须传一个可迭代对象
而且你输入的是[2, 3, 18, 19, 24, 30, 62, 62, 88, 99]这个格式,直接split肯定是不行的,还要去掉两面的括号
其实这样写就行了:
c=list(filter(siPrime,eval(a))))