[071] 정수 리스트에서 소수만 걸러내기(filter)

책 내용에 대한 무단배포 방지를 위해 최소한으로 정리

리스트에서 소수 필터링하기

def getPrime(x):
    if x%2 == 0:
        return

    for i in range(3,int(x/2), 2):
        if x % i ==0:
            break
    else:
        return x

listdata = [117,119,1113,11113,11119]
ret = filter(getPrime, listdata)
print(list(ret))

n 이하의 소수 구하기

def getPrime(n):
    ret = [2]
    if n <= 2:
        return ret
    for i in range(3, n+1, 2):
        for k in range(3, int(i/2), 2):
            a = i%k
            if a == 0:
                break;
        else:
            ret.append(i)
    return ret

ret = getPrime(100)
print(ret)

Comments