Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 我试图使用过滤器在列表中查找素数,但无法';因为结果是奇数,所以找不到错误_Python 3.x_Filter - Fatal编程技术网

Python 3.x 我试图使用过滤器在列表中查找素数,但无法';因为结果是奇数,所以找不到错误

Python 3.x 我试图使用过滤器在列表中查找素数,但无法';因为结果是奇数,所以找不到错误,python-3.x,filter,Python 3.x,Filter,我试图在列表中使用过滤函数查找素数,但得到的是奇数列表。请帮我找出错误所在 def prime(n): for i in range(2,n): if n%i==0:return False else: return True L=[x for x in range(11)];print(L) L1=[x for x in filter(prime,L)] print(L1) 素数是一个不能被他前面的任何数字所区分的数: def prime(n):

我试图在列表中使用过滤函数查找素数,但得到的是奇数列表。请帮我找出错误所在

def prime(n):
    for i in range(2,n):
        if n%i==0:return False
        else: return True
L=[x for x in range(11)];print(L)
L1=[x for x in filter(prime,L)]
print(L1)

素数是一个不能被他前面的任何数字所区分的数:

def prime(n):
    for i in range(2,n):
        if n%i==0:
            return False
    return True
在过滤器功能中使用它:

primes_less_than_hundred = filter(prime, range(3, 100))

问题是for循环中有
返回True

def prime(n):
    for i in range(2, n):
        if n % i == 0:
            return False
    return True


primes = list(filter(prime, range(2, 20)))
print(primes)
您不需要具备列表理解来筛选项目,而是使用
filter(prime,range(2,20))