파이썬 제너레이터

2020. 1. 2. 15:05파이썬 기초

함수에 yield 를 입력하면 그 함수는 실행되지 않는다.

 

다만 이런 식으로는 사용 가능하다.

def fun():
    print("A")
    print("B")
    yield 100

G = fun()
value = next(G)
print(value)

value는 100

 


def fun():
    print("A")
    yield 100   #멈춤
    print("B")
    yield 200
    print("C")
    yield 300
    print("D")
    yield 400

G = fun()

for i in G:
    print(i)

출력


100
B
200
C
300
D
400


확인문제) 아래 코드를 정상적으로 수정하시오.

numbers = [1, 2, 3 ,4 ,5, 6]
print("::".join(numbers))

numbers = [1, 2, 3 ,4 ,5, 6]
print("::".join(map(str, numbers)))

출력 

1::2::3::4::5::6


복습 코드

numbers = list(range(1, 10 + 1))

print("# 홀수만 추출하기")
print(list(filter(lambda x: x % 2 == 1, numbers)))

print("# 3이상, 7미만 추출하기")
print(list(filter(lambda x: x >= 3 and x < 7, numbers)))

print("# 제곱해서 50미만 추출하기")
print(list(filter(lambda x: x ** 2 < 50, numbers)))

'파이썬 기초' 카테고리의 다른 글

파이썬 클래스 도입  (0) 2020.01.02
파이썬 try except 구문  (0) 2020.01.02
파이썬 파일 처리 기본  (0) 2019.12.31
리스트 내포로 map함수 대체하기  (0) 2019.12.30
파이썬 map 함수  (0) 2019.12.30